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

Fermé
maylouz Messages postés 34 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 24 juin 2016 - 23 mai 2013 à 16:31
 Tessel75 - 24 mai 2013 à 23:30
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 26543 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 21 décembre 2024 3 318
23 mai 2013 à 22:55
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 mercredi 10 avril 2013 Statut Membre Dernière intervention 24 juin 2016
23 mai 2013 à 23:03
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 26543 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 21 décembre 2024 3 318
23 mai 2013 à 23:11
Et bien alors, agrandis la zone de texte qui affiche les données...
0
maylouz Messages postés 34 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 24 juin 2016
23 mai 2013 à 23:19
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 26543 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 21 décembre 2024 3 318
24 mai 2013 à 08:58
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
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