Noob : comment lancer une requette parametree depuis VB? [Access / VB] - VB/VBA/VBS - Programmation
Marsh Posté le 08-12-2003 à 16:31:48
ben tu fais ta requête dans une string, tu y insères ton paramètre au passage, puis tu lances ta requête.
Marsh Posté le 09-12-2003 à 07:33:20
voui j'avais trouve ca aussi. Mais du coup si je veux modifier la requette, il faut le faire aussi dans le code. J'ai plusieurs cas comme ca, qui vont apparaitre plusieurs fois dans le code aussi, donc je cherchais une solution plus "propre"
J'ai du mal a croire que ca soit impossible
Marsh Posté le 09-12-2003 à 09:49:48
pourquoi ce serait pas propre? c'est une simple requête
et non ce n'est pas possible autrement
A moins que:
1) tu sois en Access, tu fais un objet Query et tu y accèdes dans ton code via l'objet Command fourni par la librairie ADO
2) tu es dans un SGBD convenable et tu fais une vue. Mais faire une vue pour la moindre requête, c'est complètement idiot. Les vues sont là pour "simuler" une table faite de toutes pièces à partir d'une requête complexe (et donc accélérer/faciliter un peu les choses).
Franchement, il n'y a absolument rien de mal à avoir une requête dans le code
Marsh Posté le 09-12-2003 à 09:58:47
drasche a écrit : pourquoi ce serait pas propre? c'est une simple requête |
Bha oui mais je doit aussi y acceder manuellement, donc elle existe deja en tant qu'objet requette dans ma base access, et je peux etre ammene a la modifier. Dans ce cas, je devrais modifier la requette, et le code.
Citation : |
Citation : |
Ca y ressemble : je suis sous access et j'ai ma requette faite. Dans le code, j'utilise docmd pour la lancer mais impossible de lui passer le parametre
Citation : |
Au pire je finirai comme ca, certe, mais dans mon cas je prefererai eviter
Marsh Posté le 09-12-2003 à 10:42:05
DoCmd et Command n'ont rien à voir. Command est un objet de la librairie ADO auquel on peut passer des paramètres, mais il faut que ton objet requête les accepte (donc quand tu lances ta requête à la main, il te demande aussi ces paramètres).
Tu utilises quelle version d'Access?
Marsh Posté le 09-12-2003 à 10:45:56
drasche a écrit : DoCmd et Command n'ont rien à voir. Command est un objet de la librairie ADO auquel on peut passer des paramètres, mais il faut que ton objet requête les accepte (donc quand tu lances ta requête à la main, il te demande aussi ces paramètres). |
OK, ca s'utilise comment ca ?
Citation : |
2002 SP2
en tout cas, merci pour tes reponses
Marsh Posté le 09-12-2003 à 11:11:37
en admettant que la variable strQryName contienne le nom de ton objet query, cela ressemble à ceci en DAO (la vieille API utilisée par Access, je ne sais pas si elle est encore en vigueur sous Access XP)
Code :
|
La première ligne fournit le paramètre à la query (autant de lignes que de paramètres bien sûr)
La seconde ouvre le recordset.
Marsh Posté le 09-12-2003 à 11:29:20
En ADO (selon mes souvenirs, je ne garantis pas que ça marche du premier coup )
Code :
|
Marsh Posté le 09-12-2003 à 11:34:57
merci ! Je vais essayer en ADO cet apres-midi : ca m'a l'air d'etre exactement ce que je cherchais !
Je te dis si ca a marche tout a l'heure
Marsh Posté le 09-12-2003 à 15:58:15
drasche a écrit :
|
Je bloque ici : comment je connecte a ma database ?
je suis vraiment noob
Marsh Posté le 09-12-2003 à 16:11:25
je t'avoue que je ne sais pas
En DAO, ta DB est référencée par la variable CurrentDB. Je te suggère donc d'essayer ma première solution avec les QueryDefs.
Marsh Posté le 09-12-2003 à 16:26:04
drasche a écrit : je t'avoue que je ne sais pas |
J'ai essaye, mais je bloque aussi. Bon je reessaye les deux demain matin.
Merci
Marsh Posté le 10-12-2003 à 15:11:55
bon, hayest j'ai reussi en DAO, mais au prix d'un contournement barbare : impossible de recuperer la querydef a partir du nom : querydefs(strName) ou querydefs(itemNumber), rien ne passe Du coup je fais un :
|
Mais bon ca passe...
Merci j'ai bien progresse la
Marsh Posté le 10-12-2003 à 15:21:33
Hayest c'est bon, j'avais juste oublie le Set
Patapay je viens du basic sous ZX Spectrum + hein
Marsh Posté le 08-12-2003 à 15:58:51
Hello,
question tellement basique que je trouve pas la reponse ici, ni dans les 2-3 sites visites. Rigolez pas
J'ai une requette qui a besoin d'un parametre, et je veux l'appeler depuis du code vb en precisant ce parametre : comment je fais ?
Merci
Vous pouvez rigoler maintenant