Access: Zone de liste vide dans une select case ?

Résolu/Fermé
Amallou Messages postés 5 Date d'inscription jeudi 29 mars 2018 Statut Membre Dernière intervention 9 mai 2018 - Modifié le 29 mars 2018 à 12:33
Amallou Messages postés 5 Date d'inscription jeudi 29 mars 2018 Statut Membre Dernière intervention 9 mai 2018 - 29 mars 2018 à 17:09
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

yg_be Messages postés 20747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 décembre 2022 1 270
29 mars 2018 à 15:28
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
Amallou Messages postés 5 Date d'inscription jeudi 29 mars 2018 Statut Membre Dernière intervention 9 mai 2018
29 mars 2018 à 15:54
Meeerciiii bcp ça marche merciii
0
yg_be Messages postés 20747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 décembre 2022 1 270 > Amallou Messages postés 5 Date d'inscription jeudi 29 mars 2018 Statut Membre Dernière intervention 9 mai 2018
29 mars 2018 à 17:02
super, peux-tu marquer comme résolu, via la roue dentée à droite du titre?
0
Amallou Messages postés 5 Date d'inscription jeudi 29 mars 2018 Statut Membre Dernière intervention 9 mai 2018
29 mars 2018 à 17:09
oui bien sur
0