Bonjour,
J'ai une requête que je dois lancer en VBA dans deux situations différentes.
La 1ère je dois la lancer avec une condition C1, et la 2ème une condition
différente C2.
Je ne peux donc pas spécifier la condition "en dur" dans la ligne
correspondante de la requête en mode création, il faut que je spécifie celle
que je veux utiliser (entre C1 et C2) lors de l'appel de la requête.
Or la fonction docmd.openquery ne prend comme arguments que le nom de la
requête, l'affichage et le mode de données. Nulle part on ne peut spécifier
de condition :-(
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
ST
"Gillou" a écrit dans le message de news:
Bonjour, J'ai une requête que je dois lancer en VBA dans deux situations différentes.
La 1ère je dois la lancer avec une condition C1, et la 2ème une condition différente C2.
Je ne peux donc pas spécifier la condition "en dur" dans la ligne correspondante de la requête en mode création, il faut que je spécifie celle
que je veux utiliser (entre C1 et C2) lors de l'appel de la requête.
Or la fonction docmd.openquery ne prend comme arguments que le nom de la requête, l'affichage et le mode de données. Nulle part on ne peut spécifier
de condition :-(
Comment puis-je faire ?
Merci d'avance
Gillou
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
Salut Merci de ta réponse mais le déroulement doit être transparent pour l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de dialogue est donc à proscrire, de même que tout ce qui demande une intervention de la part de l'utilisateur... :-S
Une boite de dialogue du type InputBox qui te demande de choisir la
condition.
Salut
Merci de ta réponse mais le déroulement doit être transparent pour
l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de
dialogue est donc à proscrire, de même que tout ce qui demande une
intervention de la part de l'utilisateur... :-S
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
Salut Merci de ta réponse mais le déroulement doit être transparent pour l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de dialogue est donc à proscrire, de même que tout ce qui demande une intervention de la part de l'utilisateur... :-S
ST
Comment veux tu ne pas solliciter l'utilisateur si tu me dis ne pas pouvoir spécifier la condition en dur.
Quelles sont les conditions à vérifier ? Je pense qu'il est possible de les coder en VB.
ST
"Gillou" a écrit dans le message de news:
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
Salut Merci de ta réponse mais le déroulement doit être transparent pour l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de dialogue est donc à proscrire, de même que tout ce qui demande une intervention de la part de l'utilisateur... :-S
Comment veux tu ne pas solliciter l'utilisateur si tu me dis ne pas pouvoir
spécifier la condition en dur.
Quelles sont les conditions à vérifier ? Je pense qu'il est possible de les
coder en VB.
ST
"Gillou" <Gillou@discussions.microsoft.com> a écrit dans le message de
news:D6CB21CC-C5B8-4D61-9372-86A8249DE8B5@microsoft.com...
Une boite de dialogue du type InputBox qui te demande de choisir la
condition.
Salut
Merci de ta réponse mais le déroulement doit être transparent pour
l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de
dialogue est donc à proscrire, de même que tout ce qui demande une
intervention de la part de l'utilisateur... :-S
Comment veux tu ne pas solliciter l'utilisateur si tu me dis ne pas pouvoir spécifier la condition en dur.
Quelles sont les conditions à vérifier ? Je pense qu'il est possible de les coder en VB.
ST
"Gillou" a écrit dans le message de news:
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
Salut Merci de ta réponse mais le déroulement doit être transparent pour l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de dialogue est donc à proscrire, de même que tout ce qui demande une intervention de la part de l'utilisateur... :-S
Eric
Bonjour Gillou,
Une idée ? Ecrire en vba : le sql des requêtes avec leur propre condition, créer la requête, la faire exécuter sur l'évènement de ton choix, puis la supprimer.
Exemple très sobre: Situation1 sur un évènement à définir (clic bouton ou autre) Dim strSQL as String, qry As DAO.QueryDef strSQL = "Select ... From ... Where condition1;" Set qry= CurrentDB.CreateQuerydef("tmp", strSQL) DoCmd.Openquery "tmp" Currentdb.Querydefs.Delete "tmp"
Idem pour la situation2, seule la condition est modifiée
A+ Eric
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
Salut Merci de ta réponse mais le déroulement doit être transparent pour l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de dialogue est donc à proscrire, de même que tout ce qui demande une intervention de la part de l'utilisateur... :-S
Bonjour Gillou,
Une idée ?
Ecrire en vba : le sql des requêtes avec leur propre condition,
créer la requête, la faire exécuter sur l'évènement de ton choix, puis
la supprimer.
Exemple très sobre:
Situation1 sur un évènement à définir (clic bouton ou autre)
Dim strSQL as String, qry As DAO.QueryDef
strSQL = "Select ... From ... Where condition1;"
Set qry= CurrentDB.CreateQuerydef("tmp", strSQL)
DoCmd.Openquery "tmp"
Currentdb.Querydefs.Delete "tmp"
Idem pour la situation2, seule la condition est modifiée
A+
Eric
Une boite de dialogue du type InputBox qui te demande de choisir la
condition.
Salut
Merci de ta réponse mais le déroulement doit être transparent pour
l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de
dialogue est donc à proscrire, de même que tout ce qui demande une
intervention de la part de l'utilisateur... :-S
Une idée ? Ecrire en vba : le sql des requêtes avec leur propre condition, créer la requête, la faire exécuter sur l'évènement de ton choix, puis la supprimer.
Exemple très sobre: Situation1 sur un évènement à définir (clic bouton ou autre) Dim strSQL as String, qry As DAO.QueryDef strSQL = "Select ... From ... Where condition1;" Set qry= CurrentDB.CreateQuerydef("tmp", strSQL) DoCmd.Openquery "tmp" Currentdb.Querydefs.Delete "tmp"
Idem pour la situation2, seule la condition est modifiée
A+ Eric
Une boite de dialogue du type InputBox qui te demande de choisir la condition.
Salut Merci de ta réponse mais le déroulement doit être transparent pour l'utilisateur, ce n'est pas à lui de choisir la condition. Une boite de dialogue est donc à proscrire, de même que tout ce qui demande une intervention de la part de l'utilisateur... :-S
Gillou
Bonjour Gillou,
Une idée ? Ecrire en vba : le sql des requêtes avec leur propre condition, créer la requête, la faire exécuter sur l'évènement de ton choix, puis la supprimer.
Salut Effectivement cela doit marcher. Si je ne trouve rien de plus simple (idéalement, openquery avec condition d'entrée !) je ferai ça ! Merci
Bonjour Gillou,
Une idée ?
Ecrire en vba : le sql des requêtes avec leur propre condition,
créer la requête, la faire exécuter sur l'évènement de ton choix, puis
la supprimer.
Salut
Effectivement cela doit marcher. Si je ne trouve rien de plus simple
(idéalement, openquery avec condition d'entrée !) je ferai ça !
Merci
Une idée ? Ecrire en vba : le sql des requêtes avec leur propre condition, créer la requête, la faire exécuter sur l'évènement de ton choix, puis la supprimer.
Salut Effectivement cela doit marcher. Si je ne trouve rien de plus simple (idéalement, openquery avec condition d'entrée !) je ferai ça ! Merci
Gillou
Comment veux tu ne pas solliciter l'utilisateur si tu me dis ne pas pouvoir spécifier la condition en dur.
Je ne peux pas la spécifier en dur dans le mode création de la requête, je veux pouvoir la spécifier en dur lors de l'appel VBA de la requête.
Quelles sont les conditions à vérifier ? Je pense qu'il est possible de les coder en VB.
En fait la condition dépend du formulaire sur lequel l'utilisateur se trouve : - si l'utilisateur est sur le formulaire F1, alors le clic sur un bouton doit lancer la requête R avec une condition C1 - si l'utilisateur est sur le formulaire F2, alors le clic sur un bouton doit lancer la requête R avec une condition C2
Dans les deux cas la requête R est la même (exactement la même action à mener) mais avec une condition d'entrée différente.
Pour faire ça, je cherchais tout bêtement une alternative à openquery qui accepterait une condition d'entrée, ça n'existe pas ?
Merci
Comment veux tu ne pas solliciter l'utilisateur si tu me dis ne pas pouvoir
spécifier la condition en dur.
Je ne peux pas la spécifier en dur dans le mode création de la requête, je
veux pouvoir la spécifier en dur lors de l'appel VBA de la requête.
Quelles sont les conditions à vérifier ? Je pense qu'il est possible de les
coder en VB.
En fait la condition dépend du formulaire sur lequel l'utilisateur se trouve :
- si l'utilisateur est sur le formulaire F1, alors le clic sur un bouton
doit lancer la requête R avec une condition C1
- si l'utilisateur est sur le formulaire F2, alors le clic sur un bouton
doit lancer la requête R avec une condition C2
Dans les deux cas la requête R est la même (exactement la même action à
mener) mais avec une condition d'entrée différente.
Pour faire ça, je cherchais tout bêtement une alternative à openquery qui
accepterait une condition d'entrée, ça n'existe pas ?
Comment veux tu ne pas solliciter l'utilisateur si tu me dis ne pas pouvoir spécifier la condition en dur.
Je ne peux pas la spécifier en dur dans le mode création de la requête, je veux pouvoir la spécifier en dur lors de l'appel VBA de la requête.
Quelles sont les conditions à vérifier ? Je pense qu'il est possible de les coder en VB.
En fait la condition dépend du formulaire sur lequel l'utilisateur se trouve : - si l'utilisateur est sur le formulaire F1, alors le clic sur un bouton doit lancer la requête R avec une condition C1 - si l'utilisateur est sur le formulaire F2, alors le clic sur un bouton doit lancer la requête R avec une condition C2
Dans les deux cas la requête R est la même (exactement la même action à mener) mais avec une condition d'entrée différente.
Pour faire ça, je cherchais tout bêtement une alternative à openquery qui accepterait une condition d'entrée, ça n'existe pas ?