MS Accessクエリにコメントを追加して、その機能の説明を提供するにはどうすればよいですか?
追加した後、プログラムでそのようなコメントを取得するにはどうすればよいですか?
注: Access 2003で確認済み。以前のバージョンについては知りません。
MDBのクエリの場合、クエリデザイナ(テーブルが存在する空のスペースの任意の場所)を右クリックし、コンテキストメニューから[プロパティ]を選択し、Descriptionプロパティ。
256文字に制限されていますが、何もないよりはましです。
次のような方法で、プログラムで説明を取得できます。
Dim db As Database
Dim qry As QueryDef
Set db = Application.CurrentDb
Set qry = db.QueryDefs("myQuery")
Debug.Print qry.Properties("Description")
Where
句に条件を追加して、常にtrueと評価されるが、コーダーがコメントを見つけられるようにすることにしました。
Select
...
From
...
Where
....
And "Comment: FYI, Access doesn't support normal comments!"<>""
最後の行は常にtrueと評価されるため、返されるデータには影響しませんが、次の人にコメントを残すことができます。
「通常の」Accessクエリ、つまりmdbのQueryDefにコメントを追加することはできません。そのため、多くの人がクエリのsqlをテーブルに保存することをお勧めしています。
私はこの質問が非常に古いことを知っていますが、奇妙なことに省略されたいくつかのポイントを追加したいと思います:
これらのクエリフィールドの説明と式を文書化した製品(私が知っている)がないことは少し残念です。
次のように、MSAccessクエリにコメントを追加できます。クエリにダミーフィールドを作成します。エレガントではありませんが、自己文書化されており、クエリに含まれているため、ソースコード管理に組み込むのがより実行可能になります!ジェレの例。 SQLビューに移動して、ダミーフィールドを追加します(デザインビューからも実行できます)。
SELECT "2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" as qryHISTORY, ...rest of query here...
クエリを実行します。
qryHISTORY FIELD01 FIELD02 ...
2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" 0000001 ABCDEF ...
「;」の使用に注意してくださいqryHISTORYフィールドのフィールド区切り文字として、および「;;」コメントの終わりとして、ISO日付形式と最初の文字、およびコメントを使用します。 qryHISTORYフィールドに最大646文字でこれをテストしました。
最初の回答では、説明プロパティをプログラムで取得する方法について説明しました。とにかくプログラムに煩わされる場合は、クエリ内のコメントが非常にぎこちないので、クエリにコメントを入れようとするのではなく、プログラムに入れてプログラムを使用してすべてのクエリを作成する方が良いでしょう
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"
多くの基準を持つクエリがある場合、それぞれが何をするのかを覚えておくのは難しいかもしれません。元のテーブルにテキストフィールドを追加します。これを「コメント」または「ドキュメント」と呼びます。次に、各基準のコメントとともにクエリに含めます。
関連するすべての行が返されるように、コメントは次のように記述する必要があります。残念ながら、私は新しいポスターなので、スクリーンショットを追加できません!
だからここに
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 ""
<>
は、入力したテキストと等しくない行を選択するようクエリに指示します。そうでない場合は、コメントと等しいテキストを持つフィールドのみをピックアップします。
「」はコメントを引用符で囲みます
OR Is Null OR ""は、コメントフィールドにデータのない行を含めるようクエリに指示します。そうしないと、何も返されません!
オブジェクト全体(クエリやテーブルなど)に一般的なメモを追加しようとしている場合
アクセス2016は、ナビゲーションペインに移動し、オブジェクトを強調表示し、右クリックして、オブジェクト/テーブルプロパティを選択し、説明ウィンドウにメモを追加します。つまり、「table last last updated 05/31/17」
クエリデザインで:
注:
並べ替えを行わない場合、フィールドはアクセスによって削除されます。そのため、表示をオフにして列を並べ替えていることを確認してください。