Comment peut-on ajouter un commentaire à une requête MS Access pour fournir une description de ce qu’il fait?
Une fois ajouté, comment récupérer de tels commentaires par programme?
REMARQUE: Confirmé avec Access 2003, je ne connais pas les versions antérieures.
Pour une requête dans une MDB, vous pouvez cliquer avec le bouton droit de la souris sur le concepteur de requête (n'importe où dans l'espace vide où se trouvent les tables), sélectionner Propriétés dans le menu contextuel et entrer du texte dans la propriété Description.
Vous êtes limité à 256 caractères, mais c'est mieux que rien.
Vous pouvez obtenir la description par programme avec quelque chose comme ceci:
Dim db As Database
Dim qry As QueryDef
Set db = Application.CurrentDb
Set qry = db.QueryDefs("myQuery")
Debug.Print qry.Properties("Description")
J'ai décidé d'ajouter une condition à la clause Where
qui évalue toujours la valeur true mais permet au codeur de rechercher votre commentaire.
Select
...
From
...
Where
....
And "Comment: FYI, Access doesn't support normal comments!"<>""
La dernière ligne a toujours la valeur true pour ne pas affecter les données renvoyées mais vous permet de laisser un commentaire pour le gars suivant.
Il n'est pas possible d'ajouter des commentaires à des requêtes Access "normales", c'est-à-dire un QueryDef dans un mdb. C'est pourquoi plusieurs personnes recommandent de stocker le SQL pour les requêtes dans une table.
Je sais que cette question est très ancienne, mais je voudrais ajouter quelques points, étrangement omis:
Il est un peu triste qu'aucun produit (à ma connaissance) ne documente ces descriptions et expressions de champs de requête.
Vous pouvez ajouter un commentaire à une requête MSAccess comme suit: Créez un champ factice dans la requête. Pas élégant, mais il est auto-documenté et contenu dans la requête, ce qui facilite son contrôle dans le contrôle de code source Jere est un exemple. Allez dans la vue SQL et ajoutez le champ factice (vous pouvez aussi le faire en mode création):
SELECT "2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" as qryHISTORY, ...rest of query here...
Exécutez la requête:
qryHISTORY FIELD01 FIELD02 ...
2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" 0000001 ABCDEF ...
Notez l'utilisation de ";" comme délimiteur de champ dans le champ qryHISTORY et ";;" comme fin de commentaire et utilisation du format de date ISO et des initiales, ainsi que des commentaires. Vous avez testé cela avec un maximum de 646 caractères dans le champ qryHISTORY.
La première réponse mentionnait comment obtenir la propriété de description par programme. De toute façon, si vous voulez vous occuper du programme, étant donné que les commentaires dans la requête sont très compliqués, au lieu d’essayer de les insérer dans la requête, il est peut-être préférable de les insérer dans un programme et de les utiliser pour toutes vos requêtes.
Dim dbs As DAO.Database
Dim qry As DAO.QueryDef
Set dbs = CurrentDb
'put your comments wherever in your program makes the most sense
dbs.QueryDefs("qryName").SQL = "SELECT whatever.fields FROM whatever_table;"
DoCmd.OpenQuery "qryname"
Si vous avez une requête avec beaucoup de critères, il peut être difficile de se rappeler ce que chacun fait. J'ajoute un champ de texte dans la table d'origine - appelez-le "commentaires" ou "documentation" . Ensuite, je l'inclue dans la requête avec un commentaire pour chaque critère.
Les commentaires doivent être écrits comme suit pour que toutes les lignes pertinentes soient renvoyées . Malheureusement, comme je suis une nouvelle affiche, je ne peux pas ajouter de capture d'écran!
Alors, voici sans
Field: | Comment |ContractStatus | ProblemDealtWith | ...... |
Table: | ElecContracts |ElecContracts | ElecContracts | ...... |
Sort:
Show:
Criteria | <> "all problems are | "objection" Or |
| picked up with this | "rejected" Or |
| criteria" OR Is Null | "rolled" |
| OR ""
<>
indique à la requête de choisir des lignes qui ne sont pas égales au texte que vous avez entré. Sinon, seuls les champs dont le texte correspond à votre commentaire sont remplis, c.-à-d. aucun!
"" mettez votre commentaire entre guillemets
OU Null OR "" indique à votre requête d'inclure toutes les lignes ne contenant aucune donnée dans le champ de commentaires, sinon elle ne renverra rien!
si vous essayez d’ajouter une note générale à l’objet global (requête ou table, etc.)
Access 2016 Aller au volet de navigation, sélectionner un objet, cliquer avec le bouton droit de la souris, sélectionner les propriétés de l’objet/du tableau, ajouter une note dans la fenêtre de description, à savoir "inventaire" dernière mise à jour du tableau le 31/05/17 "
Dans la conception de la requête:
Remarque:
Si vous ne triez pas, le champ sera supprimé par accès. Donc, assurez-vous que vous avez décoché afficher et trié la colonne.