Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Clause WHERE en vba d'une requete existante sans SQL ???

3 réponses
Avatar
Danny
Bonjour !

Est-il possible de changer une clause where dans un requete existante par
VBA ? Ce sans passer par une requete en SQL (j'aimerais concerver la requete
existante)


Merci !!

Danny.

3 réponses

Avatar
3stone
Salut,

"Danny"
| Est-il possible de changer une clause where dans un requete existante par
| VBA ? Ce sans passer par une requete en SQL (j'aimerais concerver la requete
| existante)


Heu... *toutes* les requêtes sont "en SQL" ;-)


Mais, puisque tu es en VBA, pourquoi ne pas simplement mettre
ta requête dans un string et l'exécuter ou la désigner comme
source de je ne sais pas quoi ??


Dim strSQL as string
strSQL = "Select machin, truc from LaTable Where ce que tu veux"

Currentdb.Execute strSQL

ou

Forms!NomForm!Recordsource = strSQL


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Danny
En fait, cette requette est pour un ETAT. alors je veux pas ouvrir cette
requete par VBA mais seulement la modifier.
Donc a partir d'un formulaire, j'appuie sur un bouton pour ouvrir un etat.
Mais selon le bonton que j'ai appuyé, je veux différente option.

Je sais, je peux copier la requete pis lui donner des noms différents une
pour chaque bouton, (exemple la ca prend 3 requetes, 3 etats).

Mais je cherchais une facon plus élégante ! ;)

MErci !


Salut,

"Danny"
| Est-il possible de changer une clause where dans un requete existante par
| VBA ? Ce sans passer par une requete en SQL (j'aimerais concerver la requete
| existante)


Heu... *toutes* les requêtes sont "en SQL" ;-)


Mais, puisque tu es en VBA, pourquoi ne pas simplement mettre
ta requête dans un string et l'exécuter ou la désigner comme
source de je ne sais pas quoi ??


Dim strSQL as string
strSQL = "Select machin, truc from LaTable Where ce que tu veux"

Currentdb.Execute strSQL

ou

Forms!NomForm!Recordsource = strSQL


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
re,

"Danny"
| En fait, cette requette est pour un ETAT. alors je veux pas ouvrir cette
| requete par VBA mais seulement la modifier.
| Donc a partir d'un formulaire, j'appuie sur un bouton pour ouvrir un etat.
| Mais selon le bonton que j'ai appuyé, je veux différente option.
|
| Je sais, je peux copier la requete pis lui donner des noms différents une
| pour chaque bouton, (exemple la ca prend 3 requetes, 3 etats).


Pourquoi alors ne pas les créer dans le VBA comme indiqué dans le message précédent ?
A moins quelle soient très complexe...

| Mais je cherchais une facon plus élégante ! ;)

Tu peux aussi récupérer la chaine SQL de ta requête enregistrée:
strSQL = CurrentDb.QueryDefs("MaRequete").SQL

Ou, supprimer les critères (le where) de ta première requête enregistrée
et l'ajouter selon l'appel et le besoin.

Mais, si tu as des difficultés pour faire ce genre de manipulation,
le mieux serait de t'en passer et d'utiliser des requête enregistrée...
Le plus "élégant" étant une base qui fonctionne bien ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw