Update

Signaler
Messages postés
33
Date d'inscription
vendredi 2 mars 2007
Statut
Membre
Dernière intervention
1 août 2011
-
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
-
salut
voila j'ai une requet qui est juste mais au niveau de l'affichage sur la gride il mafiche que 1 enregistrement sur la gride et l'horsque je click sur modifier il m'affiche le 2eme enregistrement ...etc

         Dim RZ As DAO.Recordset


'-----chargement des elements du materiel alouer  dans la grille
sql = "select * from manque_c_f  where n_client_f=" & Combo1.Text & "  and manque='oui'"
Set RZ = db.OpenRecordset(sql, dbOpenDynaset)
If RZ.RecordCount = 0 Then
MsgBox " le client " & Label2.Caption & " n'a pas de manque du materiel "
Exit Sub
End If
RZ.MoveFirst
For i = 1 To RZ.RecordCount
If RZ.EOF = True Then Exit Sub
sql = " select nom from materiel where n_mat=" & RZ![n_matr]
Set rc1 = db.OpenRecordset(sql, dbOpenDynaset)
MSFlexGrid1.TextMatrix(i, 0) = RZ![numero]
MSFlexGrid1.TextMatrix(i, 1) = rc1![nom]
MSFlexGrid1.TextMatrix(i, 2) = RZ![quantite]
RZ.MoveNext
MSFlexGrid1.AddItem ""
MSFlexGrid1.Row = MSFlexGrid1.Row + 1
Next i

moi je veux afficher tout l'horsque je clique sur le client

2 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Essaye cela défois que, en rouge les modifes :

Set RZ = db.OpenRecordset(sql, dbOpenDynaset)
If RZ.RecordCount = 0 Then
MsgBox " le client " & Label2.Caption & " n'a pas de manque du materiel "
On error Resume Next
Rz.Cancel
Rz.Close
Err.Clear
Exit Sub
End If

' Remplis le RecordSet
 sql = " select nom from materiel where n_mat=" & RZ![n_matr]
 Set rc1 = db.OpenRecordset(sql, dbOpenDynaset)

' Remplie le MSFlexGrid1 via la base

 While Not rc1 .EOF

     ' Rempli le MSFlexGrid1
       MSFlexGrid1.AddItem ""
       MSFlexGrid1.Row = MSFlexGrid1.Row + 1

       MSFlexGrid1.TextMatrix(i, 0) = rc1 ![numero]
       MSFlexGrid1.TextMatrix(i, 1) = rc1![nom]
       MSFlexGrid1.TextMatrix(i, 2) = rc1 ![quantite]

     ' Passe à l'enregistrement suivant.
      rc1 .MoveNext

  Wend

' Ferme le recordset
 rc1.Cancel
 rc1.Close 

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Rrrrr..En relisant "mon code" une chti erreur dans le i, réctif en rouge :

Static MyRecord as Long

While Not rc1 .EOF
     
       MyRecord = MyRecord + 1  
     
     ' Rempli le MSFlexGrid1
       MSFlexGrid1.AddItem ""
       MSFlexGrid1.Row = MSFlexGrid1.Row + 1

       MSFlexGrid1.TextMatrix(MyRecord , 0) = rc1 ![numero]
       MSFlexGrid1.TextMatrix(MyRecord , 1) = rc1![nom]
       MSFlexGrid1.TextMatrix(MyRecord , 2) = rc1 ![quantite]

     ' Passe à l'enregistrement suivant.
      rc1 .MoveNext

  Wend

' Tu poursuis...
 MyRecord = 0
A+
Exploreur

 Linux a un noyau, Windows un pépin