Accessで以下のようなフォームを作るにはどのようにしたら良いでしょうか?


◆データベーステーブルの内容
日付 名前
2007/05/07 クッパ
2007/05/07 マリオ
2007/05/08 マリオ
2007/05/08 ルイージ


◆希望する動作

検索条件を日付「2007/05/08」で検索した場合に「マリオ」が表示され、
もう一度検索ボタンを押すと「ルイージ」画表示される。
もう一度検索オボタンを押すと「マリオ」が表示される。以下ループ。

※現状は、何度検索ボタンを押しても、最初の「マリオ」のままです。


検索条件「クッパ」で検索すると、「クッパ」の情報が表示される。
"続けて"検索条件「ルイージ」で検索すると、「ルイージ」の情報が表示される

※現状は、検索条件を変えても最初の「クッパ」から情報が変わりません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/05/08 20:49:34
  • 終了:2007/05/15 20:50:03

回答(1件)

id:Mr_T_0023 No.1

Mr_T_0023回答回数20ベストアンサー獲得回数02007/05/09 01:56:29

ポイント60pt

Mr.Tです、こんにちは。

マリオとルイージは同じ日付ですが、この表示する順番は名前フィールドを昇順ということでよいのですか?

考え方は、大まかに二つあり、

・該当日付のデータを最初に全件取得して、配列に格納。

Private変数のカウンタを用意する。

検索ボタンのClickイベント内で、カウンタを回して配列にアクセスさせる。

 で、クリアボタンを作成して、そのクリアボタンが押されたら、配列を初期化して、新規検索ができるようにする。

 この場合、検索中にテーブルが更新されても反映されず、いったんクリアボタンで初期化する必要があります。

もしくは、

・最初の検索で1件取得。その名前をPrivate変数に格納。

格納する際には、

 if 変数が空 then
  変数 = 検索結果の名前
 else
  変数 = 変数 & "," & 検索結果の名前
 end if

として、次の検索時には、この変数を次のように使う。

select Top 1 名前 from テーブル
 where 日付=@日付
 and 名前 not in ( 変数 )
 order by 名前

>② 検索条件「クッパ」で検索すると、

これは検索条件をそのままSQLにつければいいだけでしょう。

select 名前 from テーブル 
 where 名前 = 検索テキストボックス.value

もちろん、名前フィールドは文字型なので、""でパラメータを囲んでください。

まあ、他にはワークテーブルを使って検索結果をボタン押すたびに書き込んでやって、そのワークテーブルと連結して、次の検索に使うってこともできそうですが、とりあえず意味は同じで、「前回の結果をどこかにためておく」のが必要です。

※ダミー http://q.hatena.ne.jp

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません