Modification sur listview

Résolu
taki78 Messages postés 37 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 27 juillet 2007 - 23 juin 2007 à 18:37
taki78 Messages postés 37 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 27 juillet 2007 - 2 juil. 2007 à 11:50
bonjour
j'ai un probléme au niveau de modification dans listview l'hourseque je fait la modification, elle effectuée toujours dans le premier ligne
voici le code :
Private Sub listview1_ItemClick(ByVal ItemValide As ListItem)



    Dim a As Long
    'On Error GoTo Aff_Err
    'LongIndex = ItemValide.Index
   a = ItemValide.Index
    'KeyPress = ListView1.ListItems(LongIndex).SubItems(1)
   
         frmvente.Combo1 = ListView1.ListItems(a).SubItems(1)
     frmvente.txtproduit = ListView1.ListItems(a).SubItems(2)
     frmvente.Lbltype = ListView1.ListItems(a).SubItems(3)
     frmvente.DTPicker1 = ListView1.ListItems(a).SubItems(4)
     frmvente.txtquantite = ListView1.ListItems(a).SubItems(5)
     frmvente.txtpu = ListView1.ListItems(a).SubItems(6)
     frmvente.txtpht = ListView1.ListItems(a).SubItems(7)
     frmvente.Txttva = ListView1.ListItems(a).SubItems(8)
    frmvente.txtpttc = ListView1.ListItems(a).SubItems(9)
    frmvente.Show vbModal
     Exit Sub
frmvente.txtpht.Enabled = True
frmvente.txtpttc.Enabled = True
frmvente.Txttva.Enabled = True
frmvente.txtpht = 0
Aff_Err:
 
    MsgBox Err.Description, vbExclamation Or vbOKOnly, "Information utilisateur"
    Err.Clear



End Sub



les information s'affiche dans listview grace a ce code
:

Public Sub list()
On Error Resume Next
Dim tva As Long
Dim pht As Long
Dim pttc As Long
Dim entete As ColumnHeader
Dim ligne As ListItem
ListView1.View = 3
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
Set entete = ListView1.ColumnHeaders.Add(, , "N°ordre", 1000)
Set entete = ListView1.ColumnHeaders.Add(, , "Code produit", 1700)
Set entete = ListView1.ColumnHeaders.Add(, , "Designation", 1600)
Set entete = ListView1.ColumnHeaders.Add(, , "Marque", 1500)
Set entete = ListView1.ColumnHeaders.Add(, , "Date Vente", 1500)
Set entete = ListView1.ColumnHeaders.Add(, , "Quantité sortie", 1500)
Set entete = ListView1.ColumnHeaders.Add(, , "PU", 1200)
Set entete = ListView1.ColumnHeaders.Add(, , "P.H.T", 1200)
Set entete = ListView1.ColumnHeaders.Add(, , "T.V.A", 1200)
Set entete = ListView1.ColumnHeaders.Add(, , "P.T.T.C", 1500)


db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\facturation.mdb"


If Err <> 3705 Then
table.Open "select * from ProduitVendus where [numfacture]='" & txtnfacture & "'", db, adOpenStatic, adLockOptimistic
End If
For i = 1 To table.RecordCount


Set ligne = ListView1.ListItems.Add(, , table.Fields("numordrevende"))
ligne.SubItems(1) = table.Fields("codeproduit")
ligne.SubItems(2) = table.Fields("Designation")
ligne.SubItems(3) = table.Fields("Marque")
ligne.SubItems(4) = table.Fields("date vente")
ligne.SubItems(5) = table.Fields("quantite sortie")
ligne.SubItems(6) = table.Fields("pu")
ligne.SubItems(7) = table.Fields("pht")
ligne.SubItems(8) = table.Fields("tva")
ligne.SubItems(9) = table.Fields("pttc")
table.MoveNext
Next i
For d = 1 To ListView1.ListItems.Count
tva = tva + Val(ListView1.ListItems(d).SubItems(8))
pht = pht + Val(ListView1.ListItems(d).SubItems(7))
pttc = pttc + Val(ListView1.ListItems(d).SubItems(9))
Next d
txttva = tva
txtpht = pht
txtpttc = pttc
table.Close
db.Close
 pour modifier : dans autre form nommé frmvente
Private Sub Command3_Click()
Dim rep As String
rep = MsgBox("Voulez-vous modifier ce produit?", vbQuestion + vbYesNo, "création")
If rep = vbYes Then
ajoutvente
rv.Update
End If
Unload Me
voici le procedure :
Public Sub ajoutvente()
'rv.Fields("numordrevende") = frmvente.Text3
rv.Fields("codeproduit") = frmvente.Combo1
rv.Fields("quantite sortie") = frmvente.txtquantite
rv.Fields("tva") = frmvente.txttva
rv.Fields("pht") = frmvente.txtpht
rv.Fields("pttc") = frmvente.txtpttc
rv.Fields("numfacture") = frmvente.Text1
rv.Fields("pu") = frmvente.txtpu
rv.Fields("date vente") = frmvente.DTPicker1
rv.Fields("codetypeproduit") = frmvente.Text2
End Sub

21 réponses

taki78 Messages postés 37 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 27 juillet 2007
26 juin 2007 à 14:13
voici le code dans le boutton modifier :
Private Sub Command3_Click()
Dim rep As String
rep = MsgBox("Voulez-vous modifier ce produit?", vbQuestion + vbYesNo, "création")
If rep = vbYes Then
ajoutvente
rv.Update


End If


'rv.Requery
Unload Me
End Sub


dans le module :
Public db As New ADODB.Connection
Public rv As New ADODB.Recordset
Public Sub main()
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\facturation.mdb;Persist Security Info=False"
rv.Open "select * from vente", db, adOpenStatic, adLockOptimistic
End Sub
'Public Sub ajouvente()
rv.Fields("codeproduit") = frmajoutvente.Txtcode
rv.Fields("quantite sortie") = frmajoutvente.txtquantite
rv.Fields("date vente") = frmajoutvente.txtdate
rv.Fields("tva") = frmajoutvente.txttva
rv.Fields("pht") = frmajoutvente.txtpht
rv.Fields("pttc") = frmajoutvente.txtpttc
rv.Fields("pu") = frmajoutvente.txtprix
rv.Fields("codetypeproduit") = frmvente.Text1
End Sub
 j'ai oublier commant je fait la relation dans la forme :
Private Sub Form_Load()
 main
lierclient
lietfac
list
For i = 1 To rc.RecordCount
Combo1.AddItem rc.Fields("codeclient")
rc.MoveNext
Next i


CrystalReport2.ReportFileName = App.Path & "\facture1.rpt"


End Sub


Public Sub list()
On Error Resume Next
Dim tva As Long
Dim pht As Long
Dim pttc As Long
Dim entete As ColumnHeader
Dim ligne As ListItem
ListView1.View = 3
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
Set entete = ListView1.ColumnHeaders.Add(, , "N°ordre", 1000)
Set entete = ListView1.ColumnHeaders.Add(, , "Code produit", 1700)
Set entete = ListView1.ColumnHeaders.Add(, , "Designation", 1600)
Set entete = ListView1.ColumnHeaders.Add(, , "Marque", 1500)
Set entete = ListView1.ColumnHeaders.Add(, , "Date Vente", 1500)
Set entete = ListView1.ColumnHeaders.Add(, , "Quantité sortie", 1500)
Set entete = ListView1.ColumnHeaders.Add(, , "PU", 1200)
Set entete = ListView1.ColumnHeaders.Add(, , "P.H.T", 1200)
Set entete = ListView1.ColumnHeaders.Add(, , "T.V.A", 1200)
Set entete = ListView1.ColumnHeaders.Add(, , "P.T.T.C", 1500)


db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\facturation.mdb"


If Err <> 3705 Then
table.Open "select * from ProduitVendus where [numfacture]='" & txtnfacture & "'", db, adOpenStatic, adLockOptimistic
End If
For i = 1 To table.RecordCount


Set ligne = ListView1.ListItems.Add(, , table.Fields("numordrevende"))
ligne.SubItems(1) = table.Fields("codeproduit")
ligne.SubItems(2) = table.Fields("Designation")
ligne.SubItems(3) = table.Fields("Marque")
ligne.SubItems(4) = table.Fields("date vente")
ligne.SubItems(5) = table.Fields("quantite sortie")
ligne.SubItems(6) = table.Fields("pu")
ligne.SubItems(7) = table.Fields("pht")
ligne.SubItems(8) = table.Fields("tva")
ligne.SubItems(9) = table.Fields("pttc")
table.MoveNext
Next i
For d = 1 To ListView1.ListItems.Count
tva = tva + Val(ListView1.ListItems(d).SubItems(8))
pht = pht + Val(ListView1.ListItems(d).SubItems(7))
pttc = pttc + Val(ListView1.ListItems(d).SubItems(9))
Next d
txttva = tva
txtpht = pht
txtpttc = pttc
table.Close
db.Close




End Sub


Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)
Cancel = True


End Sub


 


Private Sub listview1_ItemClick(ByVal ItemValide As ListItem)


    Dim a As Long
    'On Error GoTo Aff_Err
    'LongIndex = ItemValide.Index
   a = ItemValide.Index
    'KeyPress = ListView1.ListItems(LongIndex).SubItems(1)
    'frmvente.Text3 = ListView1.ListItems(a).SubItems(0)
         frmvente.Combo1 = ListView1.ListItems(a).SubItems(1)
     frmvente.txtproduit = ListView1.ListItems(a).SubItems(2)
     frmvente.Lbltype = ListView1.ListItems(a).SubItems(3)
     frmvente.DTPicker1 = ListView1.ListItems(a).SubItems(4)
     frmvente.txtquantite = ListView1.ListItems(a).SubItems(5)
     frmvente.txtpu = ListView1.ListItems(a).SubItems(6)
     frmvente.txtpht = ListView1.ListItems(a).SubItems(7)
     frmvente.txttva = ListView1.ListItems(a).SubItems(8)
    frmvente.txtpttc = ListView1.ListItems(a).SubItems(9)
    frmvente.Show vbModal
     Exit Sub
frmvente.txtpht.Enabled = True
frmvente.txtpttc.Enabled = True
frmvente.txttva.Enabled = True
frmvente.txtpht = 0
Aff_Err:
 
    MsgBox Err.Description, vbExclamation Or vbOKOnly, "Information utilisateur"
    Err.Clear


End Sub


Private Sub Quit_Click()
Unload Me
End Sub


Private Sub txtnfacture_KeyPress(KeyAscii As Integer)
cmdcreer.Enabled = True
End Sub
je veux ou se trouve le  probléme avec prècis please et merci
0
Rejoignez-nous