Télécharger le zip
Salut - il te manques un refresh dans la procedure calcul (command1) - tester si text1 <>"" pour valider la recherche - pour que le calcul soit exacte il faut recalculer la somme par ligne lorsque l'utilsateur resaisie le prix unitaire et la quantité (événement keydown lorsqu'il valide par une entrée) Voici qq amélioration : Dim pu As Long Dim qte As Long Private Sub Command1_Click() Dim i As Integer Dim Som As Long Som = 0 Adodc1.Refresh For i = 1 To Adodc1.Recordset.RecordCount Som = Som + Adodc1.Recordset.Fields(5).Value Adodc1.Recordset.MoveNext Next i Label1.Caption = Som End Sub Private Sub Command2_Click() If Text1.Text <> "" Then Adodc1.Recordset.Filter = "numero='" & Trim(Text1.Text) & "'" End If End Sub Private Sub Command3_Click() Adodc1.Refresh End Sub Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then If DataGrid1.Col = 4 Or DataGrid1.Col = 3 Then pu = Val(DataGrid1.Columns(3).Text) qte = Val(DataGrid1.Columns(4).Text) DataGrid1.Columns(5).Text = qte * pu End If End If End Sub
ah autre chose ! pour faire un boucle avec un recordset il fait utilise Do until loop imagines qu'il n'ya pas d'enregistrement alors recordcount=0 donc il y aura une erreur avec for i = 1 to recordcount le code avec eof est plus correct : Do until Adodc1.Recordset.eof ' jusqu'à la fin '.....ton code Adodc1.Recordset.MoveNext loop
Avec les deux modifications le code fonctionne très bien, mais si je veux faire lancer le calcul de somme à partir de la sub DataGrid1_KeyDown, le datagrid réaffiche l’ancienne valeur. Comment forcer l’écriture des modifications avant de rafraîchir ?
Comment avez vous fais pour remplir les colonnes du dataGrid dans le form car quand je mais une dataGrid je trouve seulement colonne (0) et colonne(1) et j'ai pas su comment ajouter 3 autre colonne. Merci
Salut, Si tu as relié ton DataGrid au ADODC par l'intermédiaire de la proprièté DataSource Tu clic droite sur le DataGrid, et tu choisi "Extraire les champs" ou Extract Fields
Merci frop01, je vais l'essayer, normallement ça marche avec une base mysql? est ce que c'est possible de le faire en code source sans "extraire les champs" Merci beaucoup.
et pour le refresh du data grid et la suppression des elements comment faire. je mais refresh pour reafficher les donnes mais ça marche pas. et pour la suppression j'ai mis ClearFields et ça n'a pas marcher aussi alors que doije faire. Merci.
oui ca marche avec toutes les base de données tant qu'on utilise le ADODC couplé avec son ODBC (my-ODBC pour mysql) Sinon pour le refresh, il faut rafraichir l'ADODC !
Non ça n'a pas marcher. le probléme c'est que j'utiliser le fichier libmyqsl.dll donc j'utilise pas ODBC (my-ODBC pour mysql) et quand je fait un refresh une erreur me dit qu'il n'y a pas de ConnectionString.
ça ne marche pas chez moi et j'aimerai savoir comment on peut utiliser les touches de direction du clavier pour quitter un cellule modifiée du datagrid
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 873 674 membres 193 nouveaux aujourd'hui 16 151 membres club