MS Access クエリにコメントを追加して、それが何をするかを説明するにはどうすればよいですか?
追加したら、そのようなコメントをプログラムで取得するにはどうすればよいでしょうか?
Where
常に true と評価されるが、コーダーがコメントを見つけられるようにする条件を句に追加することにしました。
Select
...
From
...
Where
....
And "Comment: FYI, Access doesn't support normal comments!"<>""
最後の行は常に true と評価されるため、返されるデータには影響しませんが、次の人のためにコメントを残すことができます。
「通常の」Access クエリ、つまり mdb の QueryDef にコメントを追加することはできません。これが、クエリの sql をテーブルに格納することを多くの人が推奨する理由です。
注: Access 2003 で確認しましたが、以前のバージョンについてはわかりません。
MDB のクエリの場合、クエリ デザイナー (テーブルがある空のスペースの任意の場所) を右クリックし、コンテキスト メニューから [プロパティ] を選択して、[説明]プロパティにテキストを入力します。
256 文字に制限されていますが、何もないよりはましです。
次のようなものを使用して、プログラムで説明を取得できます。
Dim db As Database
Dim qry As QueryDef
Set db = Application.CurrentDb
Set qry = db.QueryDefs("myQuery")
Debug.Print qry.Properties("Description")
私はこの質問が非常に古いことを知っていますが、奇妙なことに省略されたいくつかのポイントを追加したいと思います:
これらのクエリフィールドの説明と式を文書化した製品(私が知っている)がないのは少し悲しいことです。
次のように、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 "" は、コメント フィールドにデータのない行を含めるようクエリに指示します。そうしないと、何も返されません。
クエリの設計では:
ノート:
ソートしない場合、フィールドはアクセスによって削除されます。そのため、表示のチェックを外して列をソートしたことを確認してください。