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

Requete parametree ADO

8 réponses
Avatar
Lolo
Bonjour a tous,

J'ai sous une base access deux requetes avec un paramétre. Ces requêtes sont
des reuqetes ajout et suppression.
Comment en me connectant a la base en VBA arriver a passer une valeur en
parametre en executant la requete.

Sans parametre je fais quelquechose comme :
Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete", NombreEnregistrementsImpactes

Mais comment introduire le parametre Mon_Parametre prenant une valeur de
type long ?

Si vous avez des idées ! Merci ! A+.

8 réponses

Avatar
Fabien
Lolo wrote:
Bonjour a tous,

J'ai sous une base access deux requetes avec un paramétre. Ces requêtes sont
des reuqetes ajout et suppression.
Comment en me connectant a la base en VBA arriver a passer une valeur en
parametre en executant la requete.

Sans parametre je fais quelquechose comme :
Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete", NombreEnregistrementsImpactes

Mais comment introduire le parametre Mon_Parametre prenant une valeur de
type long ?

Si vous avez des idées ! Merci ! A+.


Salut,
sans rien connaitre à la syntaxe ado, ne peut on pas ecrire le source de
l'instruction sql ?
ma_connexion.execute "INSERT INTO maTable ( ..... " & _
"WHERE [monchampdetest]=" & me.monparametre &
";",NombreEnregistrementsImpactes
si le monchampdetest est numerique
et
ma_connexion.execute "INSERT INTO maTable ( ..... " & _
"WHERE [monchampdetest]='" & me.monparametre &
"';",NombreEnregistrementsImpactes
si le monchampdetest est Aplhanumerique
@+
Avatar
Lolo
Merci Fabien,

Ma requete est réalisée sous access et je ne souhaite pas la faire en SQL
pur car j'ai beaucoup de champs a copier avec des modifications de valeurs ...
Je ne suis pas sur qu'avec l'ajout d'une condition Where on soit dans le
cadre du passage de parametre...

"Fabien" a écrit :

Lolo wrote:
> Bonjour a tous,
>
> J'ai sous une base access deux requetes avec un paramétre. Ces requêtes sont
> des reuqetes ajout et suppression.
> Comment en me connectant a la base en VBA arriver a passer une valeur en
> parametre en executant la requete.
>
> Sans parametre je fais quelquechose comme :
> Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete", NombreEnregistrementsImpactes
>
> Mais comment introduire le parametre Mon_Parametre prenant une valeur de
> type long ?
>
> Si vous avez des idées ! Merci ! A+.
Salut,
sans rien connaitre à la syntaxe ado, ne peut on pas ecrire le source de
l'instruction sql ?
ma_connexion.execute "INSERT INTO maTable ( ..... " & _
"WHERE [monchampdetest]=" & me.monparametre &
";",NombreEnregistrementsImpactes
si le monchampdetest est numerique
et
ma_connexion.execute "INSERT INTO maTable ( ..... " & _
"WHERE [monchampdetest]='" & me.monparametre &
"';",NombreEnregistrementsImpactes
si le monchampdetest est Aplhanumerique
@+






Avatar
Michel_D
Bonjour,

Donne le SQL pour voir.


"Lolo" a écrit dans le message de news:
Merci Fabien,

Ma requete est réalisée sous access et je ne souhaite pas la faire en SQL
pur car j'ai beaucoup de champs a copier avec des modifications de valeurs ...
Je ne suis pas sur qu'avec l'ajout d'une condition Where on soit dans le
cadre du passage de parametre...

"Fabien" a écrit :

> Lolo wrote:
> > Bonjour a tous,
> >
> > J'ai sous une base access deux requetes avec un paramétre. Ces requêtes sont
> > des reuqetes ajout et suppression.
> > Comment en me connectant a la base en VBA arriver a passer une valeur en
> > parametre en executant la requete.
> >
> > Sans parametre je fais quelquechose comme :
> > Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete", NombreEnregistrementsImpactes
> >
> > Mais comment introduire le parametre Mon_Parametre prenant une valeur de
> > type long ?
> >
> > Si vous avez des idées ! Merci ! A+.
> Salut,
> sans rien connaitre à la syntaxe ado, ne peut on pas ecrire le source de
> l'instruction sql ?
> ma_connexion.execute "INSERT INTO maTable ( ..... " & _
> "WHERE [monchampdetest]=" & me.monparametre &
> ";",NombreEnregistrementsImpactes
> si le monchampdetest est numerique
> et
> ma_connexion.execute "INSERT INTO maTable ( ..... " & _
> "WHERE [monchampdetest]='" & me.monparametre &
> "';",NombreEnregistrementsImpactes
> si le monchampdetest est Aplhanumerique
> @+
>
>
>
>


Avatar
Fabien
Lolo wrote:
Merci Fabien,

Ma requete est réalisée sous access et je ne souhaite pas la faire en SQL
pur car j'ai beaucoup de champs a copier avec des modifications de valeurs ...
Je ne suis pas sur qu'avec l'ajout d'une condition Where on soit dans le
cadre du passage de parametre...

"Fabien" a écrit :

Lolo wrote:
Bonjour a tous,

J'ai sous une base access deux requetes avec un paramétre. Ces requêtes sont
des reuqetes ajout et suppression.
Comment en me connectant a la base en VBA arriver a passer une valeur en
parametre en executant la requete.

Sans parametre je fais quelquechose comme :
Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete", NombreEnregistrementsImpactes

Mais comment introduire le parametre Mon_Parametre prenant une valeur de
type long ?

Si vous avez des idées ! Merci ! A+.


Salut,
sans rien connaitre à la syntaxe ado, ne peut on pas ecrire le source de
l'instruction sql ?
ma_connexion.execute "INSERT INTO maTable ( ..... "& _
"WHERE [monchampdetest]="& me.monparametre&
";",NombreEnregistrementsImpactes
si le monchampdetest est numerique
et
ma_connexion.execute "INSERT INTO maTable ( ..... "& _
"WHERE [monchampdetest]='"& me.monparametre&
"';",NombreEnregistrementsImpactes
si le monchampdetest est Aplhanumerique
@+








Ben ta requete access c'est quant même du SQL ;-)
Pour ce qui est des parametres a part les passer en modifiant
l'instruction SQL je vois pas comment faire.
Si les parametres concerne les champs mis a jour alors
ma_connexion.execute "Insert into [Matable] ([Champ1],[Champ2],...)
values (" & Param1 & "," & Param2 & "," .....
");",NombreEnregistrementsImpactes
A mon niveau je vois pas d'autres solutions désolé ;-)
Avatar
Lolo
Merci Michel et Fabien pour vos réponses

Si la requete renvoyait des résultats (la ce n'est pas le cas puisqu'elle
copie des infos d'une table dans une autre) je pense pouvoir me débrouiller
avec une syntaxe du type :

' Création d'un objet commande objCmd
objCmd.CommandText = "MonNomDeRequete"
objCmd.CommandType = adCmdStoredProc
Set objCmd.ActiveConnection = objConn
objCmd.Parameters("@MonParametre") = Ma valeur de parametre
MonRecordset.Open objCmd
...
Mais la je ne sais pas

"Fabien" a écrit :

Lolo wrote:
> Merci Fabien,
>
> Ma requete est réalisée sous access et je ne souhaite pas la faire en SQL
> pur car j'ai beaucoup de champs a copier avec des modifications de valeurs ...
> Je ne suis pas sur qu'avec l'ajout d'une condition Where on soit dans le
> cadre du passage de parametre...
>
> "Fabien" a écrit :
>
>> Lolo wrote:
>>> Bonjour a tous,
>>>
>>> J'ai sous une base access deux requetes avec un paramétre. Ces requêtes sont
>>> des reuqetes ajout et suppression.
>>> Comment en me connectant a la base en VBA arriver a passer une valeur en
>>> parametre en executant la requete.
>>>
>>> Sans parametre je fais quelquechose comme :
>>> Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete", NombreEnregistrementsImpactes
>>>
>>> Mais comment introduire le parametre Mon_Parametre prenant une valeur de
>>> type long ?
>>>
>>> Si vous avez des idées ! Merci ! A+.
>> Salut,
>> sans rien connaitre à la syntaxe ado, ne peut on pas ecrire le source de
>> l'instruction sql ?
>> ma_connexion.execute "INSERT INTO maTable ( ..... "& _
>> "WHERE [monchampdetest]="& me.monparametre&
>> ";",NombreEnregistrementsImpactes
>> si le monchampdetest est numerique
>> et
>> ma_connexion.execute "INSERT INTO maTable ( ..... "& _
>> "WHERE [monchampdetest]='"& me.monparametre&
>> "';",NombreEnregistrementsImpactes
>> si le monchampdetest est Aplhanumerique
>> @+
>>
>>
>>
>>
Ben ta requete access c'est quant même du SQL ;-)
Pour ce qui est des parametres a part les passer en modifiant
l'instruction SQL je vois pas comment faire.
Si les parametres concerne les champs mis a jour alors
ma_connexion.execute "Insert into [Matable] ([Champ1],[Champ2],...)
values (" & Param1 & "," & Param2 & "," .....
");",NombreEnregistrementsImpactes
A mon niveau je vois pas d'autres solutions désolé ;-)




Avatar
CErnst
Ci-dessous, une méthode, mais il y a plusieurs façons de faire.
vous trouverez tous les paramètres de CreateParazmetre dans l'aide :
AD210.CHM


Private Sub Commande0_Click()
On Error GoTo Err_Commande0_Click
Dim c As New ADODB.Command
c.ActiveConnection = CurrentProject.Connection
c.CommandType = adCmdStoredProc
c.CommandText = "[Le_Nom_De_Ma_Requete]" (les crochets sont
nécessaires s'il y a des espaces dans le nom de la requête)
c.Parameters.Refresh
c.Parameters.Append c.CreateParameter("Mon_Parametre ",
adLongVarBinary, adParamInput, ,VOTREVALEUR)
c.Execute
Exit_Commande0_Click:
Exit Sub

Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click
End Sub







"Lolo" a écrit dans le message de news:

Bonjour a tous,

J'ai sous une base access deux requetes avec un paramétre. Ces requêtes
sont
des reuqetes ajout et suppression.
Comment en me connectant a la base en VBA arriver a passer une valeur en
parametre en executant la requete.

Sans parametre je fais quelquechose comme :
Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete",
NombreEnregistrementsImpactes

Mais comment introduire le parametre Mon_Parametre prenant une valeur de
type long ?

Si vous avez des idées ! Merci ! A+.


Avatar
CErnst
pardon, ADO210.CHM

"CErnst" a écrit dans le message de news:
%
Ci-dessous, une méthode, mais il y a plusieurs façons de faire.
vous trouverez tous les paramètres de CreateParazmetre dans l'aide :
AD210.CHM


Private Sub Commande0_Click()
On Error GoTo Err_Commande0_Click
Dim c As New ADODB.Command
c.ActiveConnection = CurrentProject.Connection
c.CommandType = adCmdStoredProc
c.CommandText = "[Le_Nom_De_Ma_Requete]" (les crochets sont
nécessaires s'il y a des espaces dans le nom de la requête)
c.Parameters.Refresh
c.Parameters.Append c.CreateParameter("Mon_Parametre ",
adLongVarBinary, adParamInput, ,VOTREVALEUR)
c.Execute
Exit_Commande0_Click:
Exit Sub

Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click
End Sub







"Lolo" a écrit dans le message de news:

Bonjour a tous,

J'ai sous une base access deux requetes avec un paramétre. Ces requêtes
sont
des reuqetes ajout et suppression.
Comment en me connectant a la base en VBA arriver a passer une valeur en
parametre en executant la requete.

Sans parametre je fais quelquechose comme :
Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete",
NombreEnregistrementsImpactes

Mais comment introduire le parametre Mon_Parametre prenant une valeur de
type long ?

Si vous avez des idées ! Merci ! A+.






Avatar
Lolo
MerKi CErnst,

Ta syntaxe est correcte.



"CErnst" a écrit :

pardon, ADO210.CHM

"CErnst" a écrit dans le message de news:
%
> Ci-dessous, une méthode, mais il y a plusieurs façons de faire.
> vous trouverez tous les paramètres de CreateParazmetre dans l'aide :
> AD210.CHM
>
>
> Private Sub Commande0_Click()
> On Error GoTo Err_Commande0_Click
> Dim c As New ADODB.Command
> c.ActiveConnection = CurrentProject.Connection
> c.CommandType = adCmdStoredProc
> c.CommandText = "[Le_Nom_De_Ma_Requete]" (les crochets sont
> nécessaires s'il y a des espaces dans le nom de la requête)
> c.Parameters.Refresh
> c.Parameters.Append c.CreateParameter("Mon_Parametre ",
> adLongVarBinary, adParamInput, ,VOTREVALEUR)
> c.Execute
> Exit_Commande0_Click:
> Exit Sub
>
> Err_Commande0_Click:
> MsgBox Err.Description
> Resume Exit_Commande0_Click
> End Sub
>
>
>
>
>
>
>
> "Lolo" a écrit dans le message de news:
>
>> Bonjour a tous,
>>
>> J'ai sous une base access deux requetes avec un paramétre. Ces requêtes
>> sont
>> des reuqetes ajout et suppression.
>> Comment en me connectant a la base en VBA arriver a passer une valeur en
>> parametre en executant la requete.
>>
>> Sans parametre je fais quelquechose comme :
>> Ma_Connexion_P.Execute "Le_Nom_De_Ma_Requete",
>> NombreEnregistrementsImpactes
>>
>> Mais comment introduire le parametre Mon_Parametre prenant une valeur de
>> type long ?
>>
>> Si vous avez des idées ! Merci ! A+.
>
>