[Access 2003] [VBA] Lancer une requête avec paramètre
1 réponse
Harfang
Bonjour,
J'aimerais dans mon code VBA lancer une requête que j'ai créé. j'utilise
donc le code :
DoCmd.OpenQuery ("myquery")
Le problème c'est que ma requête demande un paramètre, donc ça demande un
paramètre à l'utilisateur, ce que je ne veux pas. En effet, cette commande
est lancée par l'appui sur un bouton dans un formulaire, et le paramètre de
cette requête est déjà dans un champ du formulaire.
Donc comment je peux faire pour passer ce paramètre à ma requête ?
Ah et aussi, j'aimerais savoir comment faire pour récupérer le nombre
d'enregistrements qu'a généré cette requête. (c'est une requête ajout dans
une table)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien
Harfang a écrit :
Bonjour,
J'aimerais dans mon code VBA lancer une requête que j'ai créé. j'utilise donc le code : DoCmd.OpenQuery ("myquery")
Le problème c'est que ma requête demande un paramètre, donc ça demande un paramètre à l'utilisateur, ce que je ne veux pas. En effet, cette commande est lancée par l'appui sur un bouton dans un formulaire, et le paramètre de cette requête est déjà dans un champ du formulaire.
Donc comment je peux faire pour passer ce paramètre à ma requête ?
Ah et aussi, j'aimerais savoir comment faire pour récupérer le nombre d'enregistrements qu'a généré cette requête. (c'est une requête ajout dans une table)
Merci
Salut,
Passage de parametres deux solutions : Soit tu indique dans ta requete a la place du parametre qui est dans la ligne critére le champ qui lui correspond dans ton formulaire Forms![lemonduform].[lenomduchamp] soit tu reccupere le source de ta requete en mode SQl et tu l'intergre a ton code VBA
Dim Str_Qry as string Str_Qry="Insert .... from .... where [lechampfiltre]=" & me.lechampduformulaire Currentdb.execute Str_Qry
Pour connaitre le nombre d'enreg. Dim Avant as integer Avant = dcount("[Unchamp]","Latable") . . . ton code pour l'ajout . . . msgbox "Nombre d'enreg ajoutés : " & dcount("[Unchamp]","Latable")-Avant
@+
Harfang a écrit :
Bonjour,
J'aimerais dans mon code VBA lancer une requête que j'ai créé. j'utilise
donc le code :
DoCmd.OpenQuery ("myquery")
Le problème c'est que ma requête demande un paramètre, donc ça demande
un paramètre à l'utilisateur, ce que je ne veux pas. En effet, cette
commande est lancée par l'appui sur un bouton dans un formulaire, et le
paramètre de cette requête est déjà dans un champ du formulaire.
Donc comment je peux faire pour passer ce paramètre à ma requête ?
Ah et aussi, j'aimerais savoir comment faire pour récupérer le nombre
d'enregistrements qu'a généré cette requête. (c'est une requête ajout
dans une table)
Merci
Salut,
Passage de parametres deux solutions :
Soit tu indique dans ta requete a la place du parametre qui est dans la
ligne critére le champ qui lui correspond dans ton formulaire
Forms![lemonduform].[lenomduchamp]
soit tu reccupere le source de ta requete en mode SQl et tu l'intergre a
ton code VBA
Dim Str_Qry as string
Str_Qry="Insert .... from .... where [lechampfiltre]=" &
me.lechampduformulaire
Currentdb.execute Str_Qry
Pour connaitre le nombre d'enreg.
Dim Avant as integer
Avant = dcount("[Unchamp]","Latable")
.
.
. ton code pour l'ajout
.
.
.
msgbox "Nombre d'enreg ajoutés : " & dcount("[Unchamp]","Latable")-Avant
J'aimerais dans mon code VBA lancer une requête que j'ai créé. j'utilise donc le code : DoCmd.OpenQuery ("myquery")
Le problème c'est que ma requête demande un paramètre, donc ça demande un paramètre à l'utilisateur, ce que je ne veux pas. En effet, cette commande est lancée par l'appui sur un bouton dans un formulaire, et le paramètre de cette requête est déjà dans un champ du formulaire.
Donc comment je peux faire pour passer ce paramètre à ma requête ?
Ah et aussi, j'aimerais savoir comment faire pour récupérer le nombre d'enregistrements qu'a généré cette requête. (c'est une requête ajout dans une table)
Merci
Salut,
Passage de parametres deux solutions : Soit tu indique dans ta requete a la place du parametre qui est dans la ligne critére le champ qui lui correspond dans ton formulaire Forms![lemonduform].[lenomduchamp] soit tu reccupere le source de ta requete en mode SQl et tu l'intergre a ton code VBA
Dim Str_Qry as string Str_Qry="Insert .... from .... where [lechampfiltre]=" & me.lechampduformulaire Currentdb.execute Str_Qry
Pour connaitre le nombre d'enreg. Dim Avant as integer Avant = dcount("[Unchamp]","Latable") . . . ton code pour l'ajout . . . msgbox "Nombre d'enreg ajoutés : " & dcount("[Unchamp]","Latable")-Avant