OVH Cloud OVH Cloud

De quesl type est un Identifiant auto en provenance d'une requète ?

4 réponses
Avatar
JVMD
Voila mon code :

Bonjour, j'espère que quelqu'un pourra éclaircir ma lanterne.

// Je sélectionne l'enregistrement que je cherche
HExécuteRequêteSQL(reqSelQuest, "SELECT * FROM Questionnaires WHERE
IDDossiers = '" + Dossiers.IDDossiers + "' AND TypeQuest = '1' ")

HLitPremier(reqSelQuest)

AffichageResultats(reqSelQuest.IDQuestionnaires,"Visu")

Du coté de ma procédure j'ai ça :

PROCEDURE AffichageResultats(TP est un Variant, TypeVisu est une
chaîne = "Visu")

La ça marche.

Si je met TP en Chaine ça marche aussi.

Mais si je met TP est un entier j'ai une erreur du type :
Le parametre de type " ne peut pas être converti en type chaine C

De quel type est ce paramètre au juste ?

Et que dois-je mettre comme type de variable dans ma procedure
d'arrivée ?

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------

4 réponses

Avatar
mat
JVMD wrote:
Voila mon code :

Bonjour, j'espère que quelqu'un pourra éclaircir ma lanterne.

// Je sélectionne l'enregistrement que je cherche
HExécuteRequêteSQL(reqSelQuest, "SELECT * FROM Questionnaires WHERE
IDDossiers = '" + Dossiers.IDDossiers + "' AND TypeQuest = '1' ")

HLitPremier(reqSelQuest)

AffichageResultats(reqSelQuest.IDQuestionnaires,"Visu")

Du coté de ma procédure j'ai ça :

PROCEDURE AffichageResultats(TP est un Variant, TypeVisu est une
chaîne = "Visu")

La ça marche.

Si je met TP en Chaine ça marche aussi.

Mais si je met TP est un entier j'ai une erreur du type :
Le parametre de type " ne peut pas être converti en type chaine C

De quel type est ce paramètre au juste ?

Et que dois-je mettre comme type de variable dans ma procedure
d'arrivée ?




Est-ce que les ID de ces fichiers sont vraiment de type auto? Celui du
fichier Dossiers est, selon le code ci-dessus, une chaine. Donc
explication possible: ID manuel dans un champ texte?
Avatar
JBT
JVMD a utilisé son clavier pour écrire :
Voila mon code :

Bonjour, j'espère que quelqu'un pourra éclaircir ma lanterne.

// Je sélectionne l'enregistrement que je cherche
HExécuteRequêteSQL(reqSelQuest, "SELECT * FROM Questionnaires WHERE
IDDossiers = '" + Dossiers.IDDossiers + "' AND TypeQuest = '1' ")

HLitPremier(reqSelQuest)

AffichageResultats(reqSelQuest.IDQuestionnaires,"Visu")

Du coté de ma procédure j'ai ça :

PROCEDURE AffichageResultats(TP est un Variant, TypeVisu est une
chaîne = "Visu")

La ça marche.

Si je met TP en Chaine ça marche aussi.

Mais si je met TP est un entier j'ai une erreur du type :
Le parametre de type " ne peut pas être converti en type chaine C

De quel type est ce paramètre au juste ?

Et que dois-je mettre comme type de variable dans ma procedure
d'arrivée ?

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------



Le plus simple : PROCEDURE AffichageResultats(TP, TypeVisu = "Visu")
Pourquoi : car ainsi tes paramètres gardent le type qui est donné lors
de l'appel de la procédure.

Pour garder le typage, tu dois avoir exactement les bons types. Si ton
id auto est sur 8, tu devrais avoir PROCEDURE AffichageResultats(TP est
un entier sur 8...

--

Avatar
JVMD
Le Mon, 06 Dec 2004 11:45:27 +0100, mat
écris :

Est-ce que les ID de ces fichiers sont vraiment de type auto? Celui du
fichier Dossiers est, selon le code ci-dessus, une chaine. Donc
explication possible: ID manuel dans un champ texte?



Oui type auto donc ça vient pas de la mais c'est bien un problème de
taille, voir ma réponse à JBT.

Merci.

JL



----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
JVMD
Le Mon, 06 Dec 2004 13:18:05 +0100, JBT
écris :

Le plus simple : PROCEDURE AffichageResultats(TP, TypeVisu = "Visu")
Pourquoi : car ainsi tes paramètres gardent le type qui est donné lors
de l'appel de la procédure.



Donc dans ce cas TP réagit comme un type variant, car lorsque je le
met en variant ça fonctionne aussi.


Pour garder le typage, tu dois avoir exactement les bons types. Si ton
id auto est sur 8, tu devrais avoir PROCEDURE AffichageResultats(TP est
un entier sur 8...



Je viens de vérifier, je vois que je suis en 4 octet ID auto.

J'essaierai avec un entier sur 4.

Je vous tient au courant mais je n'ai pas de doute, ça doit marcher
effectivement, j'aurais du prendre garde à ce problème de taille
d'entier.

Merci, je vous tiens au courant.

JL



----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------