Bonjour et bonne année à tous.
Alors voilà la petite histoire.
Comme je débute sous Access, j'ai tendance à créer des requêtes "en dur" avec l'assistant requête et ensuite à utiliser l'assistant création de formulaire pour créer un formulaire à partir de cette requête.
Alors pour l'exemple, prenons deux-trois tables : table 1, table 2, table 3.
Je crée une requête 1 en incluant les tables 1, 2 et 3.
Ensuite je crée un formulaire 1 basé sur la requête 1
A la fin, j'ai donc en dur trois tables, un requête et un formulaire.
Ce matin, dans un souci d'amélioration, j'ai essayé de supprimer la requête, et de recopier le contenu SQL de cette requête dans le champ Source de la feuille de propriété du formulaire, en lieu et place du nom de la requête 1 en l'occurrence.
ça marche. Je sais pas si c'est la bonne méthode, mais ça marche. Je n'ai plus que les tables d'origine et le formulaire.
Mais la méthode a ses limites. Quand j'ai essayé de recopier un gros bloc de texte SQL, dans ce champ Source, il m'a indiqué que le texte était trop long pour être modifié.
Je précise que j'ai essayé de recopier ce bloc de texte partout où j'ai pu voir Source dans le formulaire, dans les propriétés, dans les générateurs de code ou de requête.
A chaque fois, même problème. Des fois le texte est bien recopié, on peut enregistrer le formulaire, mais à la ré-ouverture, le texte SQL est tronqué et donc cause un erreur.
Je ne sais pas si ma façon de faire est la bonne, mais mes requêtes sont en général particulièrement complexes (champs renommés, valeurs en fonction d'un argument…) longue et le code SQL qui en découle est trop long pour rentrer dans la propriété Source.
La question est donc quel le nombre de caractères max. pour ce type de propriété ?
J'ai lu 16000 quelque part, mais moi ça coince à partir de 1000 et quelques. (1900, ce qui correspond au minimum de mes besoins, c'est trop long). Il ne semble pas avoir de limites dans la longuer du code SQL de la requête "en dur".
J'ai déjà réduit les nom des champs et de certaines tables, ce qui n'a pas été sans conséquence.
Si le nombre limite est inférieur à 1500 quel est la solution ?
Sinon, pourquoi cela ne fonctionne pas ?
D'avance merci.
Partager