S.o.s en listview svp
sooprano
Messages postés
33
Statut
Membre
-
bscorpion -
bscorpion -
bsr bon je travaille dans visual basic 6 et j'veux faire l'edition en listview voila j'explique mon probleme
j'ai un interface qui Porte un Combo et listview ce combo est chargé du N°produit (Nump_con) du table Concerner (clé etrangere ) et listview est chargé entete de N°Produit , Libellé Produit, Prix unitaire, Qantité et Montant
voila je travaille avec 3 table Produit , Commande table Concerner
table Produit contienne les champs suivant
Num_cde (N°produit) (indexé)
Lib_prod (Libellé)
Pu_prod (Prix u)
Qs_prod (Qt en stock)
table commande
Ncom_cde (N° Commande)
Date_cde
Numc_cde (N°client) (clé etrangere)
et table Concerner contienne 2clé etrangere
Numc_con (N° Commande) clé etra
Nump_com (N°Produit) clé etran
Qt_con (Quantité)
voila ce que j'ai fé en edition
Private Sub Form_Load()
Ouverture 'base de donnée
SQL = "select distinct Numc_con from Concerner"
Set E_sql = Base.OpenRecordset(SQL)
With E_sql 'chargement du combo1 par N°commande
If Not .EOF Then .MoveFirst
While Not .EOF
Combo1.AddItem !Numc_con
If Not .EOF Then .MoveNext
Wend
End With
'conception d'entete en listview
ListView1.ColumnHeaders.Add = "N° Produit"
ListView1.ColumnHeaders.Add = "Libellé"
ListView1.ColumnHeaders.Add = "Prix Unitaire"
ListView1.ColumnHeaders.Add = "Quantité En Stock"
ListView1.ColumnHeaders.Add = "Mt"
ListView1.View = 3
End Sub
Private Sub Combo1_Click()
SQL = " select Concerner.Nump_con, Produit.Lib_prod, Produit.Pu_prod, Concerner.Qt_con, " & _
" Mt from Produit Concerner where Produit.Num_prod=Concerner.Nump_con and " & _
" Concerner.Numc_con='" & Combo1 & "'"
Set E_sql = Base.OpenRecordset(SQL)
Mt = 0
With E_sql
If Not .EOF Then .MoveFirst
While Not .EOF
Mt = !Qt_con * !Pu_prod
Tm = Tm + Mt
Set l = ListView1.ListItems.Add(, , !Nump_con)
l.SubItems(1) = !Lib_prod
l.SubItems(2) = !Pu_prod
l.SubItems(3) = !Qt_con
l.suitems(4) = Mt
If Not .EOF Then .MoveNext
Wend
End With
Label5 = Tm 'Total Moantant
Label6 = Tm * 0.2 'Montant TVA
Label7 = Tm + Val(Label6) 'Montant TTC
End Sub
bon apres l execution et quand j'clique sur combo il me sorte un debogage tro de parametre 7 attendu
erreur execution '3061'
svp pourrez vous m aider sur ca j veux cliquer sur combo il m'affiche les données ainsi quand j reclique je veux pa que les donnée qui ont été affiché au 1er clique reste j veux que l'affichage du donnée du 2eme clique ecrase la 1ere
voila
j'ai un interface qui Porte un Combo et listview ce combo est chargé du N°produit (Nump_con) du table Concerner (clé etrangere ) et listview est chargé entete de N°Produit , Libellé Produit, Prix unitaire, Qantité et Montant
voila je travaille avec 3 table Produit , Commande table Concerner
table Produit contienne les champs suivant
Num_cde (N°produit) (indexé)
Lib_prod (Libellé)
Pu_prod (Prix u)
Qs_prod (Qt en stock)
table commande
Ncom_cde (N° Commande)
Date_cde
Numc_cde (N°client) (clé etrangere)
et table Concerner contienne 2clé etrangere
Numc_con (N° Commande) clé etra
Nump_com (N°Produit) clé etran
Qt_con (Quantité)
voila ce que j'ai fé en edition
Private Sub Form_Load()
Ouverture 'base de donnée
SQL = "select distinct Numc_con from Concerner"
Set E_sql = Base.OpenRecordset(SQL)
With E_sql 'chargement du combo1 par N°commande
If Not .EOF Then .MoveFirst
While Not .EOF
Combo1.AddItem !Numc_con
If Not .EOF Then .MoveNext
Wend
End With
'conception d'entete en listview
ListView1.ColumnHeaders.Add = "N° Produit"
ListView1.ColumnHeaders.Add = "Libellé"
ListView1.ColumnHeaders.Add = "Prix Unitaire"
ListView1.ColumnHeaders.Add = "Quantité En Stock"
ListView1.ColumnHeaders.Add = "Mt"
ListView1.View = 3
End Sub
Private Sub Combo1_Click()
SQL = " select Concerner.Nump_con, Produit.Lib_prod, Produit.Pu_prod, Concerner.Qt_con, " & _
" Mt from Produit Concerner where Produit.Num_prod=Concerner.Nump_con and " & _
" Concerner.Numc_con='" & Combo1 & "'"
Set E_sql = Base.OpenRecordset(SQL)
Mt = 0
With E_sql
If Not .EOF Then .MoveFirst
While Not .EOF
Mt = !Qt_con * !Pu_prod
Tm = Tm + Mt
Set l = ListView1.ListItems.Add(, , !Nump_con)
l.SubItems(1) = !Lib_prod
l.SubItems(2) = !Pu_prod
l.SubItems(3) = !Qt_con
l.suitems(4) = Mt
If Not .EOF Then .MoveNext
Wend
End With
Label5 = Tm 'Total Moantant
Label6 = Tm * 0.2 'Montant TVA
Label7 = Tm + Val(Label6) 'Montant TTC
End Sub
bon apres l execution et quand j'clique sur combo il me sorte un debogage tro de parametre 7 attendu
erreur execution '3061'
svp pourrez vous m aider sur ca j veux cliquer sur combo il m'affiche les données ainsi quand j reclique je veux pa que les donnée qui ont été affiché au 1er clique reste j veux que l'affichage du donnée du 2eme clique ecrase la 1ere
voila
Configuration: Windows XP Internet Explorer 7.0
1 réponse
-
salut,
je sais pas si ca vous aide ou non car vu la date je crois que t'as trouvé la solution, mais je veux selement donnée une contribution pour les autres:
je crois que tu doit ajouter ca :
listview1.items.clear()
ListView1.BeginUpdate()
Set l = ListView1.ListItems.Add(, , !Nump_con)
...
ListView1.EndUpdate()