Bonjour,
je souhaite changer ma requête vide nommé "qryChoixMultiple" en fonction d'une instruction SQL (différente selon les choix de l'utilisateur).
Je ne suis pas expert, et donc à l'aide d'un bouquin "access et VBA 2000" j'ai écrit deux fonctions, l'une pour créer la requête et l'autre pour la modifier.
1er fonction :
2ème fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public Function CréerQueryDef(strSQL As String) As Boolean Dim qdf = CurrentDB.CreateQueryDef("qryChoixMultiple") qdf.SQL = strSQL qdf.Close RefreshDataWindow CréerQueryDef = True End Function
j'ai testé les deux fonctions dans la fenêtre déboguage et ca marche bien (vrai retourné)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Function ChangeQueryDef(strQuery As String, strSQL As String) As Boolean Dim qdf As QueryDef Set qdf = CurrentDB.QueryDefs(strQuery) qdf.SQL = strSQL qdf.Close RefreshDataWindow ChangeQueryDef = True End Function
Dans mon formulaire (choix des critères) j'ai un bouton. Sur click j'ai écrit l'instruction SQL qui se construit en fonction des choix de l'utilisateur pour avoir au finale l'instruction appropriée contenu dans la variable strSQL. La difficultée pour moi est de transférer cette instruction dans ma requête "qryChoixMultiple" à l'aide de la fonction "ChangeQueryDef".
J'ai don écrit à la suite de ma construction strSQL :
apparement c'est pas la bonne synthaxe, ou peut etre n'est ce pas la bonne voie? un détail qui à peut être son imprtance, je travaille sur access 97...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ChangeQueryDef("qryChoixMultiple", strSQL)
Merci à tous pour votre aide
Partager