Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Champ mémo tronqué

6 réponses
Avatar
jymgo
Bonjour à tous
Je viens de relire les posts concernant ce problème. Quelqu'un pourrait il
m'expliquer plus en détail comment éviter la troncature sur ce type de champ.
Comment activer la fonction Dlookup ou RechDom sur l'état lui même. Vous
l'aurez deviné, je ne suis pas une expert en VBA.
Merci à tous
jymgo

6 réponses

Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

ravive-nous la mémoire : c'est quoi le problème ?


Cdt, Blaise
---- ---- ----


"jymgo" a écrit dans le message de news:

Bonjour à tous
Je viens de relire les posts concernant ce problème. Quelqu'un pourrait il
m'expliquer plus en détail comment éviter la troncature sur ce type de
champ.
Comment activer la fonction Dlookup ou RechDom sur l'état lui même. Vous
l'aurez deviné, je ne suis pas une expert en VBA.
Merci à tous
jymgo


Avatar
jymgo
Bonjour Blaise
Le pb est très simple.L'une de mes tables contient plusieurs champ Mémo.
Aucun pb de saisie. Le texte à enregistrer n'est pas limité. En revanche, la
restitution sur Etat est incomplète, limitée à 255 caractères.
Je te remercie du temps passé à me répondre
Crdt
Jymgo

"Blaise Cacramp" a écrit :


Selon : Bonjour ou bonsoir

ravive-nous la mémoire : c'est quoi le problème ?


Cdt, Blaise
---- ---- ----


"jymgo" a écrit dans le message de news:

> Bonjour à tous
> Je viens de relire les posts concernant ce problème. Quelqu'un pourrait il
> m'expliquer plus en détail comment éviter la troncature sur ce type de
> champ.
> Comment activer la fonction Dlookup ou RechDom sur l'état lui même. Vous
> l'aurez deviné, je ne suis pas une expert en VBA.
> Merci à tous
> jymgo





Avatar
3stone
Salut,

jymgo wrote:
Bonjour Blaise
Le pb est très simple.L'une de mes tables contient plusieurs champ
Mémo. Aucun pb de saisie. Le texte à enregistrer n'est pas limité. En
revanche, la restitution sur Etat est incomplète, limitée à 255
caractères.




Un regroupement ou un tri tronque les mémos...

Pour utiliser le DLokup() dans l'état, tu mets simplement
comme source de la zone de texte :

= DLookup("ChampMemo";"LaTable";"PK=" & PK )

ou PK est ici la clé primaire numérique de l'enregistrement.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
jymgo
Merci 3Stone de ta réponse qui m'honore.
J'ai créé une zone de texte dans l'Etat et collé ton code sauf que je ne
comprends pas ce qu'est la clé primaire de l'enregistrement (j'imagine que
c'est différents de la clé primaire de la table). La longueur du mémo est
aléatoire en fonction de l'enregistrement. Pour être clair : La table se
nomme 'Leçons', le champ mémo 'Drills'.
J'ai donc mis : = DLookup(Drills;Leçons;"PK=" & PK ) mais je ne sais pas
quoi insérer à la place de PK.
Je te remercie à nouveau pour ton aide
Crdt
Jymgo

"3stone" a écrit :

Salut,

jymgo wrote:
> Bonjour Blaise
> Le pb est très simple.L'une de mes tables contient plusieurs champ
> Mémo. Aucun pb de saisie. Le texte à enregistrer n'est pas limité. En
> revanche, la restitution sur Etat est incomplète, limitée à 255
> caractères.


Un regroupement ou un tri tronque les mémos...

Pour utiliser le DLokup() dans l'état, tu mets simplement
comme source de la zone de texte :

= DLookup("ChampMemo";"LaTable";"PK=" & PK )

ou PK est ici la clé primaire numérique de l'enregistrement.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)





Avatar
3stone
Salut,

jymgo wrote:
J'ai créé une zone de texte dans l'Etat et collé ton code sauf que je
ne comprends pas ce qu'est la clé primaire de l'enregistrement
(j'imagine que c'est différents de la clé primaire de la table). La
longueur du mémo est aléatoire en fonction de l'enregistrement. Pour
être clair : La table se nomme 'Leçons', le champ mémo 'Drills'.




Ton état est bien alimenté par une requête... qui te crache des enregistrements
basés sur... ce que tu veux.
Chaque enregistrement possède bien une clé primaire, qui, provient
forcément d'une table.
Ton champ mémo est donc bien rattaché à un certain enregistrement...
qui a donc sa clé primaire. C'est cette clé primaire (ici appellé PK)
qui te permet de reliéer le bon mémo au bon enregistrement.



J'ai donc mis : = DLookup(Drills;Leçons;"PK=" & PK ) mais je ne sais
pas quoi insérer à la place de PK.





Je n'ai pas écrit :

=Dlookup(ChampMemo ; LaTable; .... )

mais bien

= DLookup("ChampMemo" ; "LaTable" ; "PK=" & PK )

donc :

= DLookup("Drills" ; "Leçon" ; "PK=" & PK)


Pour la longueur du mémo, il n'y à pas de problème... la zone de texte
dans l'état s'adaptera en hauteur pour que tout "rentre" !...
à condition d'avoir positionné la propriété "auto-extensible" sur Oui.
(voir propriétés, onglet format)

Encore deux remarques:
- Il te faudra adapter PK et écrire le nom réel du champ clé primaire.
- Les noms des objets, tables, champs, requêtes etc... ne sont pas là
pour faire des concours d'orthographe. Des noms comme "Leçon"
te créeront des problèmes et t'obligeront à les encadrer par des
crochet [Leçon]

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
jymgo
Merci 3Stone. Tout fonctionne correctement. je retiens la leçon pour les
accents et autres caractères spéciaux dans les éléments d'une BD. A bientot
Jymgo

"3stone" a écrit :

Salut,

jymgo wrote:
> J'ai créé une zone de texte dans l'Etat et collé ton code sauf que je
> ne comprends pas ce qu'est la clé primaire de l'enregistrement
> (j'imagine que c'est différents de la clé primaire de la table). La
> longueur du mémo est aléatoire en fonction de l'enregistrement. Pour
> être clair : La table se nomme 'Leçons', le champ mémo 'Drills'.


Ton état est bien alimenté par une requête... qui te crache des enregistrements
basés sur... ce que tu veux.
Chaque enregistrement possède bien une clé primaire, qui, provient
forcément d'une table.
Ton champ mémo est donc bien rattaché à un certain enregistrement...
qui a donc sa clé primaire. C'est cette clé primaire (ici appellé PK)
qui te permet de reliéer le bon mémo au bon enregistrement.


>
> J'ai donc mis : = DLookup(Drills;Leçons;"PK=" & PK ) mais je ne sais
> pas quoi insérer à la place de PK.
>


Je n'ai pas écrit :

=Dlookup(ChampMemo ; LaTable; .... )

mais bien

= DLookup("ChampMemo" ; "LaTable" ; "PK=" & PK )

donc :

= DLookup("Drills" ; "Leçon" ; "PK=" & PK)


Pour la longueur du mémo, il n'y à pas de problème... la zone de texte
dans l'état s'adaptera en hauteur pour que tout "rentre" !...
à condition d'avoir positionné la propriété "auto-extensible" sur Oui.
(voir propriétés, onglet format)

Encore deux remarques:
- Il te faudra adapter PK et écrire le nom réel du champ clé primaire.
- Les noms des objets, tables, champs, requêtes etc... ne sont pas là
pour faire des concours d'orthographe. Des noms comme "Leçon"
te créeront des problèmes et t'obligeront à les encadrer par des
crochet [Leçon]

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)