requête paramétrée dans Access : comment un client VB peut-il transmettre la valeur du paramètre ?
1 réponse
Antoine Dinimant
Je suis en train de bricoler le client VB6 d'une base Access 2000 (MS
Jet 4).
Sur un processus d'impression, mes utilisateurs souhaitent conserver une
grande souplesse et pouvoir éventuellement ajouter ou modifier des
champs. J'ai donc ajoutée dans la base Access une requête ad hoc, disons
"REQ_MODIFIABLE", qu'ils peuvent modifier à volonté.
Pour récupérer les données à imprimer, j'ouvre un Recordset ADO :
RS.Open "REQ_MODIFIABLE", maConnexion
Seul pb, l'impression concerne à chaque fois un seul enregistrement sur
plusieurs milliers. J'aimerais donc pouvoir filtrer ma REQ_MODIFIABLE
sur une ID, plutôt que de ramener cinq ou six mille enregistrements et
de n'en conserver qu'un.
Comme je n'ai pas vu d'option de filtrage dans RS.Open, je pense que le
truc serait de paramétrer REQ_MODIFIABLE. Mais comment le client VB
peut-il transmettre une valeur de paramètre ?
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
Christophe
Un extrait de la MSDN (version ADO 2.1) : concernant l'objet parameter de la collection parameters de l'objet command:
Christophe Vergon
Parameter objects represent parameters associated with parameterized queries, or the in/out arguments and the return values of stored procedures. Depending on the functionality of the provider, some collections, methods, or properties of a Parameter object may not be available.
With the collections, methods, and properties of a Parameter object, you can do the following:
Set or return the name of a parameter with the Name property. Set or return the value of a parameter with the Value property. Set or return parameter characteristics with the Attributes and Direction, Precision, NumericScale, Size, and Type properties.
Pass long binary or character data to a parameter with the AppendChunk method. If you know the names and properties of the parameters associated with the stored procedure or parameterized query you wish to call, you can use the CreateParameter method to create Parameter objects with the appropriate property settings and use the Append method to add them to the Parameters collection. This lets you set and return parameter values without having to call the Refresh method on the Parameters collection to retrieve the parameter information from the provider, a potentially resource-intensive operation.
"Antoine Dinimant" a écrit dans le message de news:
Je suis en train de bricoler le client VB6 d'une base Access 2000 (MS Jet 4).
Sur un processus d'impression, mes utilisateurs souhaitent conserver une grande souplesse et pouvoir éventuellement ajouter ou modifier des champs. J'ai donc ajoutée dans la base Access une requête ad hoc, disons "REQ_MODIFIABLE", qu'ils peuvent modifier à volonté.
Pour récupérer les données à imprimer, j'ouvre un Recordset ADO : RS.Open "REQ_MODIFIABLE", maConnexion
Seul pb, l'impression concerne à chaque fois un seul enregistrement sur plusieurs milliers. J'aimerais donc pouvoir filtrer ma REQ_MODIFIABLE sur une ID, plutôt que de ramener cinq ou six mille enregistrements et de n'en conserver qu'un.
Comme je n'ai pas vu d'option de filtrage dans RS.Open, je pense que le truc serait de paramétrer REQ_MODIFIABLE. Mais comment le client VB peut-il transmettre une valeur de paramètre ?
Merci de vos suggestions !
Antoine
Un extrait de la MSDN (version ADO 2.1) :
concernant l'objet parameter de la collection parameters de l'objet command:
Christophe Vergon
Parameter objects represent parameters associated with parameterized
queries, or the in/out arguments and the return values of stored procedures.
Depending on the functionality of the provider, some collections, methods,
or properties of a Parameter object may not be available.
With the collections, methods, and properties of a Parameter object, you can
do the following:
Set or return the name of a parameter with the Name property.
Set or return the value of a parameter with the Value property.
Set or return parameter characteristics with the Attributes and Direction,
Precision, NumericScale, Size, and Type properties.
Pass long binary or character data to a parameter with the AppendChunk
method.
If you know the names and properties of the parameters associated with the
stored procedure or parameterized query you wish to call, you can use the
CreateParameter method to create Parameter objects with the appropriate
property settings and use the Append method to add them to the Parameters
collection. This lets you set and return parameter values without having to
call the Refresh method on the Parameters collection to retrieve the
parameter information from the provider, a potentially resource-intensive
operation.
"Antoine Dinimant" <antoun@free.fr> a écrit dans le message de news:
4026C9B2.4050804@free.fr...
Je suis en train de bricoler le client VB6 d'une base Access 2000 (MS
Jet 4).
Sur un processus d'impression, mes utilisateurs souhaitent conserver une
grande souplesse et pouvoir éventuellement ajouter ou modifier des
champs. J'ai donc ajoutée dans la base Access une requête ad hoc, disons
"REQ_MODIFIABLE", qu'ils peuvent modifier à volonté.
Pour récupérer les données à imprimer, j'ouvre un Recordset ADO :
RS.Open "REQ_MODIFIABLE", maConnexion
Seul pb, l'impression concerne à chaque fois un seul enregistrement sur
plusieurs milliers. J'aimerais donc pouvoir filtrer ma REQ_MODIFIABLE
sur une ID, plutôt que de ramener cinq ou six mille enregistrements et
de n'en conserver qu'un.
Comme je n'ai pas vu d'option de filtrage dans RS.Open, je pense que le
truc serait de paramétrer REQ_MODIFIABLE. Mais comment le client VB
peut-il transmettre une valeur de paramètre ?
Un extrait de la MSDN (version ADO 2.1) : concernant l'objet parameter de la collection parameters de l'objet command:
Christophe Vergon
Parameter objects represent parameters associated with parameterized queries, or the in/out arguments and the return values of stored procedures. Depending on the functionality of the provider, some collections, methods, or properties of a Parameter object may not be available.
With the collections, methods, and properties of a Parameter object, you can do the following:
Set or return the name of a parameter with the Name property. Set or return the value of a parameter with the Value property. Set or return parameter characteristics with the Attributes and Direction, Precision, NumericScale, Size, and Type properties.
Pass long binary or character data to a parameter with the AppendChunk method. If you know the names and properties of the parameters associated with the stored procedure or parameterized query you wish to call, you can use the CreateParameter method to create Parameter objects with the appropriate property settings and use the Append method to add them to the Parameters collection. This lets you set and return parameter values without having to call the Refresh method on the Parameters collection to retrieve the parameter information from the provider, a potentially resource-intensive operation.
"Antoine Dinimant" a écrit dans le message de news:
Je suis en train de bricoler le client VB6 d'une base Access 2000 (MS Jet 4).
Sur un processus d'impression, mes utilisateurs souhaitent conserver une grande souplesse et pouvoir éventuellement ajouter ou modifier des champs. J'ai donc ajoutée dans la base Access une requête ad hoc, disons "REQ_MODIFIABLE", qu'ils peuvent modifier à volonté.
Pour récupérer les données à imprimer, j'ouvre un Recordset ADO : RS.Open "REQ_MODIFIABLE", maConnexion
Seul pb, l'impression concerne à chaque fois un seul enregistrement sur plusieurs milliers. J'aimerais donc pouvoir filtrer ma REQ_MODIFIABLE sur une ID, plutôt que de ramener cinq ou six mille enregistrements et de n'en conserver qu'un.
Comme je n'ai pas vu d'option de filtrage dans RS.Open, je pense que le truc serait de paramétrer REQ_MODIFIABLE. Mais comment le client VB peut-il transmettre une valeur de paramètre ?