OVH Cloud OVH Cloud

QueryDefs et paramêtres

2 réponses
Avatar
Mrs Pomemboo
Bonjour,

En Access 97 toujours, je tente de donner des valeurs de paramêtre à l'aide
de queryDefs().parameters à une requête.

ce que j'ai fait :
***********
Set bd = CurrentDb
Set qdf = bd.QueryDefs("test")

With qdf
.Parameters![DateDebut].Value = CDate(DDate)
.Parameters![DateFin].Value = CDate(DDate)
.Parameters![Annee].Value = CInt(Format(CDate(DDate), "yyyy"))
.Parameters![Mois].Value = CInt(Format(CDate(DDate), "mm"))
End With

docmd.openquery "test"

***********

J'ai bien chercher sur le sujet, et tous les messages indiquent de procéder
ainsi, mais ça fonctionne pas, à l'ouverture, je me fais toujours demander
mes paramêtres. Qu'est-ce qui m'échappe ?

Merci et bonne journée !
Mrs Pomemboo

2 réponses

Avatar
André AVONS
Salut
J'ai refait une requete test
Avec une date et j'ai regarde la collection parameter et il y en a aucun
je ne sais pas ce que c'est, ca existe mais ca renvoie rien j'ai mis un nom
d'expression un filtre je ne sais ou on defini les parametres dans la
requete je cherche et je te dirai
Ce qui est sure c'est que l'on ne peut ajouter de parameter

--
@+
André

Quelques liens avec des exemples, des utilitaires et des compléments pour
Access
http://access.seneque.free.fr/
http://www.self-access.com/
http://www.mvps.org/accessfr/
http://mypage.bluewin.ch/w.stucki/
http://access.jessy.free.fr/
http://www.anor.fr.st
"Mrs Pomemboo" a écrit dans le message de
news:
Bonjour,

En Access 97 toujours, je tente de donner des valeurs de paramêtre à
l'aide

de queryDefs().parameters à une requête.

ce que j'ai fait :
***********
Set bd = CurrentDb
Set qdf = bd.QueryDefs("test")

With qdf
.Parameters![DateDebut].Value = CDate(DDate)
.Parameters![DateFin].Value = CDate(DDate)
.Parameters![Annee].Value = CInt(Format(CDate(DDate), "yyyy"))
.Parameters![Mois].Value = CInt(Format(CDate(DDate), "mm"))
End With

docmd.openquery "test"

***********

J'ai bien chercher sur le sujet, et tous les messages indiquent de
procéder

ainsi, mais ça fonctionne pas, à l'ouverture, je me fais toujours demander
mes paramêtres. Qu'est-ce qui m'échappe ?

Merci et bonne journée !
Mrs Pomemboo





Avatar
André AVONS
Salut
1) il faut d'abord creer les parametres par un create querydef ou dans ta
requete les criteres doivent etre entre crochet [Prametre1]
2) Ca ne marche pas pour les requetes selection
3) Il vaut mieux passer par un formulaire et faire reference dans tes
criteres
Ci joint un exemple
Sub exemple1()
'Create QueryDef "Test"
Dim bd As Database
Dim Qdf As QueryDef
Dim qdtext As String
Set bd = CurrentDb
Set Qdf = bd.CreateQueryDef("Test2") 'Create the query "By date"
qdtext = "PARAMETERS dateParam Short; "
qdtext = qdtext & "Delete * from SuiviCourrier WHERE [DateCourrier] >
dateParam"
Qdf.SQL = qdtext

Qdf.Close

Set bd = Nothing
Set Qdf = Nothing

End Sub
Sub essai()

Dim bd As Database, Qdf As QueryDef, params As Parameters, param As
Parameter
Set bd = CurrentDb
Set Qdf = bd.QueryDefs("test2")
Set params = Qdf.Parameters

For Each param In params
NOM = param.Name
Debug.Print NOM 'Resultat du debug print = dateParam donc c'est ok
Next

Set bd = Nothing
Set Qdf = Nothing

End Sub
Sub TonTest()


Set bd = CurrentDb
Set Qdf = bd.QueryDefs("test2")

With Qdf
.Parameters("dateparam").Value = #1/1/1900#
End With

Qdf.Execute

Set bd = Nothing
Set Qdf = Nothing

End Sub

--
@+
André

Quelques liens avec des exemples, des utilitaires et des compléments pour
Access
http://access.seneque.free.fr/
http://www.self-access.com/
http://www.mvps.org/accessfr/
http://mypage.bluewin.ch/w.stucki/
http://access.jessy.free.fr/
http://www.anor.fr.st
"Mrs Pomemboo" a écrit dans le message de
news:
Bonjour,

En Access 97 toujours, je tente de donner des valeurs de paramêtre à
l'aide

de queryDefs().parameters à une requête.

ce que j'ai fait :
***********
Set bd = CurrentDb
Set qdf = bd.QueryDefs("test")

With qdf
.Parameters![DateDebut].Value = CDate(DDate)
.Parameters![DateFin].Value = CDate(DDate)
.Parameters![Annee].Value = CInt(Format(CDate(DDate), "yyyy"))
.Parameters![Mois].Value = CInt(Format(CDate(DDate), "mm"))
End With

docmd.openquery "test"

***********

J'ai bien chercher sur le sujet, et tous les messages indiquent de
procéder

ainsi, mais ça fonctionne pas, à l'ouverture, je me fais toujours demander
mes paramêtres. Qu'est-ce qui m'échappe ?

Merci et bonne journée !
Mrs Pomemboo