Access: Zone de liste vide dans une select case ?

Résolu
Amallou Messages postés 5 Statut Membre -  
Amallou Messages postés 5 Statut Membre -
Bonjour,

J'ai une formulaire contient deux zone de liste (c1 et c2) et une bouton de recherche

1 -quand je choisir une valeur c1 et je click sur le bouton il m'affiche formulaire1
2 - quand je choisir une valeur c2 et je click sur le bouton il m'affiche formulaire 2
3 - quand je choisir les deux valeurs de c1 et c2 et je click sur le bouton recherche il m'affiche formulaire3

voilà le code vba :

Public lastCBclicked As String

Private Sub Commande8_Click()
Select Case lastCBclicked
Case "c1"
DoCmd.OpenForm "Form1"
Case "c2"
DoCmd.OpenForm "Form2"
Case "c1" And "c2"
DoCmd.OpenForm "Form3"
Case Else
'traitement
End Select
End Sub

Private Sub c1_Click()
lastCBclicked = ActiveControl.Name
End Sub

Private Sub c2_Click()
lastCBclicked = ActiveControl.Name
End Sub

1 et 2 ça marche bien ..
Le Problème et dans 3 c'est quand je choisi les deux c1 et c2 il m'affiche pas formulaire3
par exemple si je choisir c1 et puis c2 il m'affiche formulaire1 de c1
et si je choisir c2 et puis c1 il m'affiche formulaire2 de c2
Vu que il doit afficher formulaire 3 .

j'ai changer le code pour que l'autre zone de liste est vide, et je mets :

 
Public lastCBclicked As String

Private Sub Commande8_Click()
Select Case lastCBclicked
Case "c1" and "c2" = ""
DoCmd.OpenForm "Form1"
Case "c2" and "c1" = ""
DoCmd.OpenForm "Form2"
Case "c1" And "c2"
DoCmd.OpenForm "Form3"
Case Else
'traitement
End Select
End Sub

Private Sub c1_Click()
lastCBclicked = ActiveControl.Name
End Sub

Private Sub c2_Click()
lastCBclicked = ActiveControl.Name
End Sub

Mais ça ne marche pas :/
aidez moi s'ils vous plaît !!

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, moi je ferais plutôt:
    Private Sub Commande8_Click()
    if Me.c1 <> "" and Me.c2 <> "" then
        DoCmd.OpenForm "Form3"
    elseif Me.c1 <> "" then
        DoCmd.OpenForm "Form1"
    elseif Me.c2 <> "" then
        DoCmd.OpenForm "Form2"
    Else
        'traitement
    end if
    End Sub
    0
    1. Amallou Messages postés 5 Statut Membre
       
      Meeerciiii bcp ça marche merciii
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Amallou Messages postés 5 Statut Membre
         
        super, peux-tu marquer comme résolu, via la roue dentée à droite du titre?
        0
    2. Amallou Messages postés 5 Statut Membre
       
      oui bien sur
      0