Redimensionner champ d'une requête en fonction du texte
maylouz
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
Tessel75 -
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.
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:
- Redimensionner champ d'une requête en fonction du texte
- Fonction si et - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Mettre un texte en majuscule - Guide
2 réponses
Salut,
où sont affichés les résultats de ta requête : dans la fenêtre requête, dans un formulaire... ?
où sont affichés les résultats de ta requête : dans la fenêtre requête, dans un formulaire... ?
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.
- 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
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
Comme ça si un client m'appelle , depuis sa fiche , j'aurais accès à tous l'historique de nos échanges .
donc si dans un enregistrement , j'ai une toute petite phrase , j'aurais un gros espace pour rien.
Dans tous les cas, tu devrais laisser de la place pour les autres contrôles qui seraient en dessous de ta zone, non ?