Redimensionner champ d'une requête en fonction du texte

maylouz Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
 Tessel75 -
Bonjour,

j'ai une requête qui gère tous l'historique d'un client , avec des champ "date_Demande" , "date_envoi" , "Commentaires" et donc je voudrais que pour le champ Commentaires " qui contient en moyenne 2-3 lignes se redimensionne automatiquement.
Actuellement le champ m'affiche que la première ligne et je devrais sélectionner le champ commentaire et faire descendre si je veux voir le reste de mon commentaires.

Si quelqu'un peut m'aider s'il vous plait pour redimensionner le champ en fonction du texte , en vba même si c'est possible ou tout autre méthodes valable sur Access. Merci

Cordialement.

A voir également:

2 réponses

blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

où sont affichés les résultats de ta requête : dans la fenêtre requête, dans un formulaire... ?
0
maylouz Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Dans un formulaire "Client" et cela en sous formulaire , en fait ce que je veux obtenir c'est d'avoir tous l'historique des actions que j'ai pu faire pour un client dans sa fiche
Comme ça si un client m'appelle , depuis sa fiche , j'aurais accès à tous l'historique de nos échanges .
0
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Et bien alors, agrandis la zone de texte qui affiche les données...
0
maylouz Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Si le l'agrandis directement depuis le formulaire , cava le faire pour tous les autres enregistrement.
donc si dans un enregistrement , j'ai une toute petite phrase , j'aurais un gros espace pour rien.
0
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Je n'avais pas compris...
Dans tous les cas, tu devrais laisser de la place pour les autres contrôles qui seraient en dessous de ta zone, non ?
0
Tessel75
 
Bonsoir,
Ci-dessous, un morceau de code qui devrait répondre à ta demande, il suffit d'adapter les nombres et les noms à ton formulaire et à l'effet recherché, évidemment.
If Len(Screen.ActiveControl) > 40 Then
            CodeContextObject.Détail0.Height = 1820
            Screen.ActiveControl.Height = 750
        If Len(Screen.ActiveControl) > 80 Then _ Screen.ActiveControl.ScrollBars = 2
        End If

- Screen.ActiveControl est le contrôle actif, cela permet d'éviter de le nommer
- 40 = Nbre de caractères du contrôle, à adapter
- CodeContextObject est l'Objet en cours de manipulation, (le formulaire actif)
- Détail0 est le nom de la partie du formulaire dans laquelle est positionné le contrôle.

Tu peux placer ce type de code soit à l'activation du formulaire, ou comme ici à l'entrée du pointeur dans le formulaire que tu veux agrandir selon la taille du texte
ATTENTION: plusieurs précautions à prendre.
1) Agrandir le formulaire AVANT que le contrôle lui-même soit agrandit, c'est pour cela que la ligne "CodeContextObject.Détail0.Height" vient avant la ligne "Screen.ActiveControl.Height"
2) Il est indispensable de prévoir un code pour le retour aux dimensions initiales après la sortie, et aussi un code pour les cas où l'agrandissement n'est pas nécessaire
3) Il faut savoir qu'il n'est pas possible d'avoir plusieurs dimensions d'un même contrôle en même temps. Càd que si tu agrandit ton contrôle quand un texte est un peu long, c'est toute la colonne de ce contrôle qui sera agrandit en même temps. Et de même si le texte est plus court et que le contrôle est réduit. C'est bien pour ça qu'il est préférable de mettre ce code à l'entrée du pointeur dans le contrôle plutôt qu'à l'activation du formulaire.
En espérant t'avoir été un peu utile. Bonne suite
0