[WB11] Paramètre avec la valeur Null dans HexecuteRequete

Le
paratge
Bonjour,

J'ai un soucis avec une requete comportant 14 paramètres qui sont des
rubriques de fichier. Si la rubrique est à 0, le paramètre doit être
Null, et là je coince, les indirections n'autorisent pas le Null.

J'ai essayé avec un tableau de 14 variants, dont je remplace 0 par null
le cas échéant, mais la requête n'aboutit pas.

Je dois avoir un problème de syntaxe, et j'ai beau le prier et
l'implorer, il ne me répond pas (Saint Axe, biensur,:) )

Merci d'avance pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
borntoride
Le #14620161
On 7 août, 05:06, paratge
Bonjour,

J'ai un soucis avec une requete comportant 14 paramètres qui sont des
rubriques de fichier. Si la rubrique est à 0, le paramètre doit être
Null, et là je coince, les indirections n'autorisent pas le Null.

J'ai essayé avec un tableau de 14 variants, dont je remplace 0 par null
le cas échéant, mais la requête n'aboutit pas.

Je dois avoir un problème de syntaxe, et j'ai beau le prier et
l'implorer, il ne me répond pas (Saint Axe, biensur,:) )

Merci d'avance pour votre aide



Normalement, en mettant la valeur dans une variable variant, elle
devrait passer comme null dans le HexecuteRequete.

Peux tu envoyer ton bout de code ?
paratge
Le #14620051
borntoride a écrit :
On 7 août, 05:06, paratge
Bonjour,

J'ai un soucis avec une requete comportant 14 paramètres qui sont des
rubriques de fichier. Si la rubrique est à 0, le paramètre doit être
Null, et là je coince, les indirections n'autorisent pas le Null.

J'ai essayé avec un tableau de 14 variants, dont je remplace 0 par null
le cas échéant, mais la requête n'aboutit pas.

Je dois avoir un problème de syntaxe, et j'ai beau le prier et
l'implorer, il ne me répond pas (Saint Axe, biensur,:) )

Merci d'avance pour votre aide



Normalement, en mettant la valeur dans une variable variant, elle
devrait passer comme null dans le HexecuteRequete.

Peux tu envoyer ton bout de code ?



Bonjour,

J'ai tout essayé, mon erreur était une erreur syntaxique :

En fait mon code était

vParam1,vParam2, vParam3, etc sont des variants

si MonFic.MaRubrique1 <> 0 ALORS
vParam1 = MonFic.MaRubrique1
SINON
vParam1 = Null
FIN

.../...
HexecuteRequete(MaRequete,HrequeteDefaut,vParam1,vParam2,etc...)

Or, Pour qu'une requete prenne en compte un parametre Null, cette
syntaxe ne convient pas.

Il faut en fait décrire les parametres de la requete avant de l'executer :

si MonFic.MaRubrique1 <> 0 ALORS
pParam1 = MonFic.MaRubrique1
SINON
pParam1 = Null
FIN

etc..

HexecuteRequete(MaRequete,HrequeteDefaut)

et là, ça fonctionne.

j'ai trouvé ça ce matin à 3 plombes dans une sous-rubrique de l'aide...

J'espère que ça aidera quelqu'un
mat
Le #14616761
paratge wrote:
...

..../...
HexecuteRequete(MaRequete,HrequeteDefaut,vParam1,vParam2,etc...)

Or, Pour qu'une requete prenne en compte un parametre Null, cette
syntaxe ne convient pas.

Il faut en fait décrire les parametres de la requete avant de l'executer :

si MonFic.MaRubrique1 <> 0 ALORS
pParam1 = MonFic.MaRubrique1
SINON
pParam1 = Null
FIN

etc..

HexecuteRequete(MaRequete,HrequeteDefaut)

et là, ça fonctionne.

j'ai trouvé ça ce matin à 3 plombes dans une sous-rubrique de l'aide...

J'espère que ça aidera quelqu'un




Bonjour,

c'est intéressant car j'aurais pensé que ça doit fonctionner de toute
façon, et en fait, un peu plus bas dans l'aide on trouve la syntaxe que
tu as utilisé en première place (désolé en anglais):

""
Only the first name is specified. The name must be specified however
and correspond to NULL.

sLastName is Variant = Null // use of a variant required for Null type
variables (no data)

HExecuteQuery(Customer_lastname_firstname, hQueryDefault, sLastName,
"John" )

OR

HExecuteQuery(Customers_lastname_firstname, hQueryDefault, Null, "John")

will execute the query
""

Donc, difficile à comprendre.

Salutations
Mat
paratge
Le #14616741
mat a écrit :
paratge wrote:
....

..../...
HexecuteRequete(MaRequete,HrequeteDefaut,vParam1,vParam2,etc...)

Or, Pour qu'une requete prenne en compte un parametre Null, cette
syntaxe ne convient pas.

Il faut en fait décrire les parametres de la requete avant de
l'executer :

si MonFic.MaRubrique1 <> 0 ALORS
pParam1 = MonFic.MaRubrique1
SINON
pParam1 = Null
FIN

etc..

HexecuteRequete(MaRequete,HrequeteDefaut)

et là, ça fonctionne.

j'ai trouvé ça ce matin à 3 plombes dans une sous-rubrique de l'aide...

J'espère que ça aidera quelqu'un




Bonjour,

c'est intéressant car j'aurais pensé que ça doit fonctionner de toute
façon, et en fait, un peu plus bas dans l'aide on trouve la syntaxe que
tu as utilisé en première place (désolé en anglais):

""
Only the first name is specified. The name must be specified however
and correspond to NULL.

sLastName is Variant = Null // use of a variant required for Null type
variables (no data)

HExecuteQuery(Customer_lastname_firstname, hQueryDefault, sLastName,
"John" )

OR

HExecuteQuery(Customers_lastname_firstname, hQueryDefault, Null, "John")

will execute the query
""

Donc, difficile à comprendre.

Salutations
Mat



Bonjour Mat,

En fait, ce que a son importance, c'est l'incrémentation des paramètres
dynamiquement.

Si tu écris en dur dans ta requete un parametre null, il est pris en
compte, mais si les paramètres varient par programmation, ça ne
fonctionne pas, alors qu'en décrivant les paramètres de la requête avant
son exécution, ça a marché du premier coup.

Bon dev
Publicité
Poster une réponse
Anonyme