Problème bizarre de récupération d'une chaîne...

[Résolu]
Signaler
Messages postés
20
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
8 mars 2006
-
Messages postés
20
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
8 mars 2006
-
Bonjour à tous !

J'ai à nouveau un problème sur ma base de données. En effet, j'ai une requête qui doit renvoyer un texte, mais le programme génère une erreur... Le code donne ceci :

Set sqlRec = cnn.OpenRecordset("select texte from citation where idcitation=3")
vararray = sqlRec.GetRows(1)
chaine = vararray(0, 0)
sqlRec.Close

La base de données est faite sous easyphp. J'ai entré le champ texte comme un varchar(1000), mais easyphp me le convertit aussitôt en type Text (est-ce là le problème ?).

Dans le programme VB l'openrecordset passe bien, ainsi que la récupération de la réponse avec le vararray. Mais quand je souhaite mettre le champ texte dans la variable chaîne(String), il me génère une erreur d'exécution 13 : type incompatible.

Pour ma part, puisque vararray est de type Variant, j'ai voulu savoir de quel sous-type il était (j'aurai pensé String puisque le résultat est une longue chaîne). J'ai trouvé un type correspondant à 8204. J'ai cherché dans l'aide à quoi correspondait ce type : rien...

Quelqu'un pourrait-il m'aider à résoudre ce problème bizarre ? Je ne comprend pas pourquoi le programme est capable de récupérer un champ varchar mais pas un champ Text...

Je vous remercie infiniment d'avance car je ne pense vraiment pas trouvé seul.

A très bientôt et excellente journée à tous !

2 réponses

Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
Bonjour,

le problème vient sans doute du fait qu'un varchar(1000) est considéré comme un mémo donc une récupération normale ne doit pas être possible
renseigne toi sur les récup de mémos
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
20
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
8 mars 2006

C'est bon ça semble marcher ! :)
J'ai cherché dans l'aide le type mémo, je suis retombé sur les objets Fields.
J'ai juste eu à faire TextBoxCitation.Text = sqlRec.Fields("texte").Value après le OpenRecordset et visiblement ça marche. Le programme doit choisir le type mémo de lui-même (ou le type qui convient en général) dès qu'on utilise une collection Fields. Apparement la méthode du vararray et du getRows ne marche qu'avec les types simples. Merci infiniment pour ton aide ! :)

A bientôt !