Textbox bloquée en taille après la première lecture d'une requéte mysql
lagakt
Messages postés4Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention19 novembre 2009
-
18 nov. 2009 à 15:25
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 2013
-
19 nov. 2009 à 15:48
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
A voir également:
Textbox bloquée en taille après la première lecture d'une requéte mysql
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 18 nov. 2009 à 15:46
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 ?
lagakt
Messages postés4Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention19 novembre 2009 18 nov. 2009 à 16:49
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 ...
lagakt
Messages postés4Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention19 novembre 2009 19 nov. 2009 à 09:53
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 ...
lagakt
Messages postés4Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention19 novembre 2009 19 nov. 2009 à 15:32
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 ...
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 19 nov. 2009 à 15:48
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..