lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 28 oct. 2008 à 09:41
Bonjour,
Pourquoi ne pas l'afficher dans une liste mais en cassant ta chaine en plusieurs morceau et les ajouter au fur et à mesure dans ta liste?
Bon courage
S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 28 oct. 2008 à 09:55
Salut,
>[../auteur/XILACIOL/1508799.aspx xilaciol] : Dommage d'attendre ton second post pour faire apparaître une variable importante Access .
Dommage aussi de ne pas avoir utiliser la section adéquate...
@+: Ju£i€n Pensez: Réponse acceptée
Vous n’avez pas trouvé la réponse que vous recherchez ?
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 28 oct. 2008 à 10:27
Re:
Tu aurais du poster dans la section vba...
Tu dis que ton formulaire est le résultat d'une requête... Elle te ramene un champs avec x caracteres...
Ce qui m'interpelle c'est comment tu fais pour avoir ce resultat? Tu concatène plusieurs valeurs?
rec_mode est un recordset?
S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
xilaciol
Messages postés7Date d'inscriptionlundi 25 décembre 2000StatutMembreDernière intervention31 octobre 2008 28 oct. 2008 à 10:53
Bonjour,
Je construit dynamiquement un formulaire
DoCmd.OpenForm "archi_modules", acDesign, , , , acHidden
j'ai une requete sql
sql_mod = "SELECT ..., text_mod,... FROM Table WHERE..." <-- text_mod est un champ Mémo dans la Table
et un recorset associé
Set rec_mod = CurrentDb.OpenRecordset(sql_mod)
puis je créer des controles et je les "alimente"
If rec_mod.RecordCount <> 0 Then
While Not rec_mod.EOF
Set controle(j) = CreateControl("archi_modules", acTextBox) <-- Ici un Textbox
controle(j).Name = "txt_text_mod" & j
controle(j).ControlSource = "='" & Replace(rec_mod.Fields(1).Value, "'", "''") & "'"
...
...
wend
end if
Le problème est que rec_mod.Fields(1).Value est supérieur à 2048 caractères et c'est apparemment la limite.
Note : si je créé un formulaire à l'aide de l'assistant Access sur la table en question, pas de problème, il affiche tout le texte dans une textbox sans problème !
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 28 oct. 2008 à 11:12
Question qui va paraitre bête...
Pourquoi ne pas le remetre dans un memo???
Préfére if rec_mod.recordcount > 0 then pluto que "<>0"
S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
xilaciol
Messages postés7Date d'inscriptionlundi 25 décembre 2000StatutMembreDernière intervention31 octobre 2008 28 oct. 2008 à 11:38
Désolé je ne comprends pas. C'est quoi le mémo dont tu parles, c'est un controle pour l'affichage ?
Ma problématique est d'afficher dans un formulaire créé dynamiquement un champ de type Mémo (jusqu'à 65535 caractères) dans un controle, mais lequel ???
J'ai essayé d'écrire le résultat dans un fichier texte (ça marche).
'ecrire dans un fichier texte
Open Application.CurrentProject.Path & "\lolo_" & j & ".txt" For Output As #1
Print #1, rec_mod.Fields(1).Value
Close #1
Alors je me suis dit pas c...le gars il va lire le fichier texte pour l'afficher dans ... Eh, bah non ! Même problème !Le String est beaucoup trop grand (Ah!Ah!Ah)
A moins qu'il y est un controle magique pour afficher un fichier texte ?
xilaciol
Messages postés7Date d'inscriptionlundi 25 décembre 2000StatutMembreDernière intervention31 octobre 2008 31 oct. 2008 à 09:18
Bon, pour ceux que ça pourrait interesser :
En mode création (acDesign) par le biais de la propriété ControlSource d'un acTextBox on ne peut pas effecter plus de 2048 caractères, pour l'affichage d'un champ de type Mémo (65535 caractères max ) c'est donc difficile !
Par contre après création du controle acTextBox vide en acDesign et affichage du formulaire en acNormal, là on peut lui affecter plus de 2048 caractères par le biais de la propriété Value
Attention : SetFocus obligatoire sur le textbox à remplir sinon, ça marche pas !
exemple
For j = 0 To 20
If Not rec.EOF Then
For Each ctl In Forms!NOM_FORM.Controls
If ctl.Name = "nom_text" & j Then
ctl.SetFocus
ctl.Value = rec!text_memo
End If
Next ctl
rec.MoveNext
End If
Next j