Textbox bloquée en taille après la première lecture d'une requéte mysql

Signaler
Messages postés
4
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
19 novembre 2009
-
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
-
Bonjour,

Je suis en vb6 et j'attaque une base Mysql ...

J'ai un petit souci :

Lors de l'affichage des résultats d'une requéte mysql, le premier truc à s'afficher 'bloque' la taille des textbox de mes autres affichages de résultats ...
Pour faire simple : si le premier truc à se mettre dans mon textbox est : 'AZER' si le deuxième est '1234567' mon textbox sera rempli par '1234' ... et les autres seront bloqués aussi à 4 caractéres ...

Le petit code en exemple : (attention c'est juste pour donner une idée)

Set wrkJet = CreateWorkspace("", "", "", dbUseODBC)
Set db = wrkJet.OpenConnection("", dbDriverNoPrompt, False, "ODBC;DSN=bdt;UID=bdt;PWD=bdt")
sqlquery = "SELECT * FROM bons where active=1;"
Set rs = db.OpenRecordset(sqlquery, dbOpenDynaset)
rs.MoveLast
t_demande = rs("t_demande")
MsgBox (t_demande)
rs.MovePrevious
Msgbox (t_demande)

..............
Merci de votre aide ...
Richard

7 réponses

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Bonjour,

Une idée comme ça. Je crois me souvenir que les textbox ont une propriété MaxLength (ou quelque chose comme ça) qui détermine la taille maximale (en caractères) de celui-ci. N'y aurait-il pas quelque chose de saisi ?


Calade
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Et quelle est la question??


L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
4
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
19 novembre 2009

Calade : Rien dans dans les propriétés ...
lolokun : La question est : et bien, pourquoi mes fameux textbox se limitent après à une taille qui a l'air d'être 'dictée' par le premier affichage du résultat de ma requête ??

Rien n'est fixe c'est vraiment 'limité' à la taille du premier affiché et je vais essayer mais je crois que si la donnée lue est vide, ça marche bien : les autres enregistrements ne sont pas limités !!!( je teste cela demain )

Merci de vos premières réponses rapides, je continu à chercher ...
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Comment remplis tu tes textbox??Elles sont liées à ta base?

L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
4
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
19 novembre 2009

Je les rentre juste par un : t_demande = rs("t_demande")
( oui je sais j'utilise le même nom de variable, mais je ne pense pas qu'il y a relation entre la commande mysql et les variables vb6)
Dans la base mysql les enregistrements sont bons ... c'est vraiment quand je lis le premier que les testboxs se 'limitent/bloquent' en taille ...

le premier t_demande est mon textbox et le rs est le résultat de ma requête.

J'ouvre la connection à la base dans mon Form_Load()

J'ai une fonction affiche() qui me fait :
Private Function affiche()
t_demande = rs("t_demande")
t_reponse = rs("t_reponse")
c_service = rs("c_service")
..
t_position = rs.AbsolutePosition + 1
End Function

et des boutons précédent et suivant qui me font des (pour le suivant):

If Not rs.EOF then
rs.MoveNext
End If
If Not rs.EOF then
affiche
else
rs.MovePrevious
End If

Cela fait 5/6 jours (en heures cumulées sur 1 mois) que je programme en VB6, avant c'était juste du batch ou du Qbasic !!
Le programme que j'écris ( et qui fonctionnerait bien si .. ) sera pour gérer des Bon de Travaux pour l'hopital local dont je m'occupe. Je peux envoyer le zip par mél à qui le veux ...
Messages postés
4
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
19 novembre 2009

Après quelques tests : cela bloque aussi avec un simple : dim variable as string ... alors peut-être que ça viendrait de la requête mysql ... j'ai essayer en augmentant les caches du serveur mysql et j'ai même essayer de changer de serveur mysql (celeron/xp avec wamp -> Bi-xeon 3Ghtz 4Go sous ubuntu 9.10)
Greuuuu ...
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Ta requête paraît correcte, avant de faire un movelast teste que le recordcount de ton recordset est bien différent de 0..
Le fait de faire une sub affiche, sans paramètre est peut-être la cause du problème, mais sans le code complet cela est difficile de bien se rendre compte..

Essayes d'effectuer ce test tu rajoutes un combo et tu rajoutes ceci dans ton code :
With monRecordset
If .RecordCount <> 0 Then
.MoveFirst
Do While Not .EOF
Tacombo.additem .fields("t_demande")
.MoveNext
Loop
else
Msgbox ("Pas d'enregistrement")
End If

L'expérience, c'est une connerie par jour, mais jamais la même..