DataGrid ( VB6)

Résolu
Bonjour,

Je m'adresse à vous, pour vous prier de me renseigner sur le comment faire afficher les données sur ma DataGrid à chaque fois où je sélectionne un bouton.

Je m'explique.

sur la (Form) il y'a :

1 : Deux boutons ( Option )
OptQ1
OptQt2
2 : Combox ( Affiche les mois de l'année)

3 : DataGrid

4 : Addoc

mes codes sont comme suite:

une fois le mois sélectionné, je clique sur un bouton (OptQ1) ou (OptQ2)

dans chacun de ces deux boutons, j'ai écris :

 Private Sub OptQ1_Click()

dim Q as string

Q = "Quinzaine n°1"

SQLs = "select * from TableQuinzaines where ((Dossier='" & CStr(VarDossier) & "')and (Mois='" & CStr(cmbMois) & "') and (Quinzaine='" & CStr(Q) & "'))"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

ADQuinzaine.RecordSource = SQLs

Set DGQuinzaine.DataSource = ADQuinzaine

DGQuinzaine.AllowArrows = False
DGQuinzaine.AllowUpdate = False

ADQuinzaine.Refresh

end sub


sur OptQ2 ( le même code )

Private Sub OptQ2_Click()

dim Q as string

Q = "Quinzaine n°2"

SQLs = "select * from TableQuinzaines where ((Dossier='" & CStr(VarDossier) & "')and (Mois='" & CStr(cmbMois) & "') and (Quinzaine='" & CStr(Q) & "'))"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

ADQuinzaine.RecordSource = SQLs

Set DGQuinzaine.DataSource = ADQuinzaine

DGQuinzaine.AllowArrows = False
DGQuinzaine.AllowUpdate = False

ADQuinzaine.Refresh

end sub


Ce que je cherche, est faire afficher les données de la Quinzaine n° 1 ( optQ1) s'elles existent, sinon, la datagrid doit être vide
la même chose, lors d'un click sur le bouton OpQ2,

Merci pour votre aide.

1 réponse

  1. Bonjour,

    pour votre RAZ datagrid, regarder ici:
    https://codes-sources.commentcamarche.net/forum/affich-1165867-comment-vider-une-datagrid-lorse-du-demarage

    code plus logique
    Private Sub OptQ1_Click()
        Call Recherche(1)
    End Sub
    Private Sub OptQ2_Click()
        Call Recherche(2)
    End Sub
    
    Sub Recherche(Num)
        SQLs = "select * from TableQuinzaines where ((Dossier='" & CStr(VarDossier) & "')and (Mois='" & CStr(cmbMois) & "') and (Quinzaine='" & CStr(Num) & "'))"
    
        If RS.State = adStateOpen Then RS.Close
        RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
    
        ADQuinzaine.RecordSource = SQLs
    
        Set DGQuinzaine.DataSource = ADQuinzaine
    
        DGQuinzaine.AllowArrows = False
        DGQuinzaine.AllowUpdate = False
    
        ADQuinzaine.Refresh
    End Sub
    1. Bonjour

      Je vous remercie pour votre aide.

      Je n'ai pas encore essayer votre code, je le ferai incessement. Seulement je suis bloquè à ce moment sur la façon d'imprimer une sèrie de bulletins de paie avec un seul click.

      Imprimer bulletin par bulletin en selectionnant le nom, je l'ai réussi, mais imprimer plusieurs en un seul clik me donne du fil à retorde
    2. Bonjour,

      Dans le code que j'ai modifie, il n'y a pas la modification demandée ..........
    3. Bonjour

      J'ai essayer votre code, et a bien marché.
      Merci une autre fois