Microsoft Access Club >初心者講座 >アンケート管理ソフト >このページ >次頁 - 前項  サイト内検索


閲覧フォームの作成 : アンケート管理ソフト



前回までで、入力フォームの作成が終了いたしました。今回のポイントをもう一度おさらいしましょうか。

  • データを一時的に保存するテーブルからデータ保存テーブルへとデータを転送する。
  • マスターテーブルを利用するだけ利用する。
  • 終了ボタンを廃止する。

このようにしたことで、データ保管に堅牢性を付加しています。ちなみにテーブルデータは下記のようにスッキリしてるでしょう。

 閲覧フォームの作成

では、今回のテーマである「閲覧フォーム」の作成に進みましょう。入力したデータを見てみたいのは自然の道理で、いかに分かり易く入力データを把握できるように工夫の必要があります。

上記画面が閲覧フォームです。

  • 形式は開発者によってそれぞれ異なりますが、これが一番見やすいかなと判断しました。特に難しいものはありません。下記のオプショングループは、クリック1つでそれぞれのデータが抽出されて表示されるようにしています。
  • このフォームにはちょっとした工夫凝らしてみました。それは、ネットワークで繋がっている場合を想定して、この閲覧画面を表示させておけば最新データが次々と自動的に表示される機能です。これは最後にお話します。
 フォームビュー

フォームをデザインビューで見ると下記のようになります。

これらテキストボックスの配置については、各自試しに行って下さい。あ、フォームヘッダーにある窪んだテキストボックス(名前は個数とします)は、後に説明しますので、そのまま通り過ぎて下さい。

 VBAの解説

VBAについてお話します。このフォームの「開く時」イベントに下記のプロシージャを記述します。

Private Sub Form_Open(Cancel As Integer)

    Me.個数 = DCount("ID", "tbl_question") ' --- A
    
    'フォームオープン時は当日データのみを表示します。
    DoCmd.ApplyFilter , "記入日=" & "#" & Format(Date, "yyyy/mm/dd") & "#" ' --- B

End Sub
解説
  1. DCount関数を利用してtbl_questionテーブルのIDの個数を、個数という名前のテキストボックスに代入します。この代入された数値は後に利用します。
  2. データの抽出を実行します。クエリでの抽出条件設定と同じ効果が期待できるものです。
 抽出条件記述の留意点

文字列を抽出条件に用いる場合は、""で囲んでいます。例えば、"記入日=#2001/01/01#" という構文が基本形です。

巷の解説書では具体的な数値や文字列で説明していますが、実際問題としてシステム作りで用いるのは、変数や関数など を挟んだ形式を取る場合が多いものです。そして、「動かない」という結果もここから導かれるものなんです(笑い)。

下記をご覧下さい。

  1. "記入日=Date"
  2. "記入日=" & Date

の違いが分かりますか?

どちらとも、「記入日というフィールドにある Date を条件として…」という意味ですが、プロシージャ内で亘る指示内容は全然異なります。

つまり、

  1. の場合は、「記入日というフィールドにあるDate という 文字 を条件として…」
  2. の場合は、「記入日というフィールドにあるDate関数によって返される 日時 を条件として…」

と云う意味合いになります。

解説

Dateは現在の日時を表すDate()と同じです。

VBAでは () は不要ですので、自動的に削除されてしまうんですね。""の中は全て文字列になってしまいますので、Dateは関数で ある故、""の外に出す必要があります。そのために & を利用して、"記入日=" & Date という形を用います。

このところはよく間違うところですから充分注意して下さいね。

なお、「日付型ですよ」と認識させるためには Dateの前後を # で囲むとが必須ですから、"記入日=" & "#" & Format(Date,"yyyy/mm/dd")  & "#" というややっこしい構文になってしまいます。ふー。

 ユーザーの指摘

読者の方から、日付が狂ってしまう、また2001年問題の可能性もありとのご指摘を頂きました。

AkiraのPCでは全然問題がないのですが、他のPCでは日付がくるってしまう現象が発生しております。よって、富士さんより提案を頂いた Format関数の利用 を取り入れました。サイトの記述とサンプルファイルは、本日修正致しましたのでご報告いたします。 2001/04/06
 

ページの先頭へ 前ページへ戻る

 


閲覧フォームの作成 : アンケート管理ソフト


 

-Microsoft Access Club-