OVH Cloud OVH Cloud

Variable String tronquée

3 réponses
Avatar
Gripoil
Bonjour,

Sous VBA (Access 2000) , je crée une variable String par la concaténation
successive de contrôles texte sur un formulaire.

Ex : StrCorps = Me.tache1
StrCorps = StrCorps & VbCrlF & Me.tache2
etc...

Pour vérifier si ma variable est bien "constituée", je passe par un debug
Print StrCorps en fin de procédure=> résultat impeccable.

J'affecte alors ma variable à une zone de texte indépendante => variable
tronquée.

D'où cela peut-il venir ?

Merci pour vos réponses.

3 réponses

Avatar
Eric
Bonjour Gripoil,

Je n'ai pas ce problème avec Access2k.

As tu dans les propriétés de ta zone de texte, Onglet Format, mis à Barre
de défilement : Verticale pour voir le contenu entier de ta zone de
texte.

Sur un formulaire ayant 14 champs zone de Texte et au contenu variable en
longueur, en ajoutant une zone de texte (txtTest) avec Barre de
défilement et un bouton de commande (Commande1) dont le but est de
remplir la zone de texte à barre de défilement, j'arrive par clics
successifs à insérer plus de 2000 caractères. Je n'ai pas testé la taille
maximale. Je te passe une procédure et fais un test sur ton formulaire
après avoir ajouter comme indiqué plus haut la zone de texte et le bouton
de commande.

Cette procédure, sur l'évènement Clic du bouton, va ajouter le contenu de
toutes les zones de texte de ton formulaire. Au 2eme clic elle rajoutera
les zones de texte initiales plus le contenu de la zone de texte txtTest.
Normalement tu devras tout récupérer dans la zone de texte txtTest.

Private Sub Commande1_Click()
Dim c As Control, strTXT As String
For Each c In Me.Controls
If TypeOf c Is TextBox Then
strTXT = strTXT & c.Value & vbCrLf
End If
Next c
Me.txtTest = strTXT
Debug.Print Len(Me.txtTest) ' histoire de voir la longueur
End Sub

Si tu ne veux pas le cumul avec txtTest, il faut dans la procédure
modifier le test :
If TypeOf c Is TextBox Then
en
If TypeOf c Is TextBox And c.Name <>"txtTest" Then

J'avais laissé e cumul pour aller plus vite.

A+
Eric



A+
Eric





"Gripoil" écrivait
news:4149e185$0$29074$:

Bonjour,

Sous VBA (Access 2000) , je crée une variable String par la
concaténation successive de contrôles texte sur un formulaire.

Ex : StrCorps = Me.tache1
StrCorps = StrCorps & VbCrlF & Me.tache2
etc...

Pour vérifier si ma variable est bien "constituée", je passe par un
debug Print StrCorps en fin de procédure=> résultat impeccable.

J'affecte alors ma variable à une zone de texte indépendante =>
variable tronquée.

D'où cela peut-il venir ?

Merci pour vos réponses.





Avatar
Gripoil
Avatar
Guy DETIENNE
Salut ;O)

Ce ne serait pas à cause du VbCrlF entre tes 2 chaînes qui ferait cet effet
?

Vu que que tu fais un Carriage Return et un Line Feed, la seconde partie de
la chaîne est en dessous de la première si tu l'affiches dans une zone de
texte. A vérifier...

Guy


"Gripoil" a écrit dans le message de news:
4149e185$0$29074$
Bonjour,

Sous VBA (Access 2000) , je crée une variable String par la concaténation
successive de contrôles texte sur un formulaire.

Ex : StrCorps = Me.tache1
StrCorps = StrCorps & VbCrlF & Me.tache2
etc...

Pour vérifier si ma variable est bien "constituée", je passe par un debug
Print StrCorps en fin de procédure=> résultat impeccable.

J'affecte alors ma variable à une zone de texte indépendante => variable
tronquée.

D'où cela peut-il venir ?

Merci pour vos réponses.