Vba requete sql et combo box [Résolu]

Signaler
Messages postés
21
Date d'inscription
samedi 24 mai 2008
Statut
Membre
Dernière intervention
20 février 2009
-
cs_lolodero
Messages postés
21
Date d'inscription
samedi 24 mai 2008
Statut
Membre
Dernière intervention
20 février 2009
-
salut a tous!

alors je vous explique, g un formulaire avec plusieur combo box, qui sont généré par des requètes.
ensuite avec les champs selectionné, les valeurs entre dans une requète et remplisse une listbox.

Mais, c champs ne sont pas forcément rempli, g mis en place des if mé sa ne marche pas?
je vous montre mon code, vous allez mieu comprendre:
Private Sub refresh_query()
Dim SQL As String


SQL = "SELECT CLIENT.NomClient, CLIENT.PrenomClient, SOCIETE.NomSoc, COURS.NomCours, NIVEAU.NomNiveau, VERSION.IDVersion, FORMATEUR.NomFormateur " & _
"FROM SOCIETE, CLIENT, PRENDRE, COURS, NIVEAU, VERSION, ENSEIGNER, FORMATEUR, AVOIR " & _
"WHERE SOCIETE.IDSoc = CLIENT.IDSoc " & _
"AND CLIENT.IDClient = PRENDRE.IDClient " & _
"AND PRENDRE.IDCours = COURS.IDCours " & _
"AND COURS.IDVersion = VERSION.IDVersion " & _
"AND VERSION.IDVersion = AVOIR.IDVersion " & _
"AND AVOIR.IDNiveau = NIVEAU.IDNiveau " & _
"AND COURS.IDCours = ENSEIGNER.IDCours " & _
"AND ENSEIGNER.IDFormateur = FORMATEUR.IDFormateur "


If Me.cbonomcours.Value > 0 Then
    SQL = "AND COURS!NomCours= '" & Me.cbonomcours & "' "
End If
If Me.cboidclient.Value > 0 Then
    SQL = "AND CLIENT!IDClient= '" & Me.cboidclient & "' "
End If


Me.lstrecherche.RowSource = SQL
Me.lstrecherche.Requery


Voila, quelqu'un a une idée?svp

4 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
61
gaffe, tu écrases ta variable SQL...

If Me.cbonomcours.Value > 0 Then
SQL = SQL & " AND COURS!NomCours= '" & Me.cbonomcours & "' "
End If
If Me.cboidclient.Value > 0 Then
SQL = SQL & " AND CLIENT!IDClient= '" & Me.cboidclient & "' "
End If
Messages postés
80
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
2 octobre 2009

oui une idée comme ça ^^
Avec ceci je suis sur que ta requête sera plus cohérente pour Access :p

If Me.cbonomcours.Value > 0 Then
    SQL =  SQL & " AND COURS!NomCours= '" & Me.cbonomcours & "' "
End If
If Me.cboidclient.Value > 0 Then
    SQL = SQL & " AND CLIENT!IDClient= '" & Me.cboidclient & "' "
End If

petite erreur d'inattention : p

Par contre n'hésite pas à mettre les messages d'erreurs dans tes posts stp ça aide pas mal pour avoir une réponse rapide

Allez bonne continuation
Messages postés
80
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
2 octobre 2009

Rhooo grillé de 16 secondes ^^
Messages postés
21
Date d'inscription
samedi 24 mai 2008
Statut
Membre
Dernière intervention
20 février 2009

OK merci bocoup!
javé pas remarqué cette erreure.
Donc biensur mintenan sa marche!

merci encor