Microsoft Office Access 2000に関する質問です。


独自に作成した「検索フォーム」に氏名の一部を入力して、それに該当する人の一覧を「お客様一覧」というフォームで表示させています。

この一覧の各行にコマンドボタンを設け(といってもデザインビューの”詳細”欄に配置するだけですが)、何行目かのボタンを押すとその行の詳細な情報が別フォームで表示されるようにしたいのです。

コマンドボタンのクリック時のイベントプロシージャにDoCmd.OpenFormを使用したいと思ってつまづいてしまいました。どのように記述すれば良いのでしょうか。よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/05/27 22:55:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:t111 No.1

回答回数68ベストアンサー獲得回数0

ポイント35pt

http://www.mahoutsukaino.com/ac/ac2002/ac2002/kihon2/010.htm

http://www.moug.net/tech/acopr/0040014.htm

まず,クエリを作って該当するレコードを選択します。「お客様番号」が主キーと想定します。

このとき,クエリの「お客様番号」フィールドの抽出条件に以下のように入力すれば,「お客様一覧」フォームで選択中のレコードのみを抽出できます。

[Forms]![お客様一覧]![お客様番号]

このクエリをもとに,詳細表示フォームを作ればいいです。

そのフォームが「お客様詳細」という名前なら,ボタンには以下のように記述することになります。

DoCmd.OpenForm "お客様詳細"

id:Allashe No.2

回答回数59ベストアンサー獲得回数5

ポイント35pt

 フォームの「詳細」欄に主キーが表示されるテキストボックスを配置し、不可視にしておきます。

 テキストボックス名は例えば「お客様番号」(数値型とします。)としておきます。

 そしてコマンドボタンの「クリック時」に

  DoCmd.OpenForm "フォーム名", acNormal, , "お客様番号=" & me![お客様番号]

 (主キーがテキスト型の場合は

  "お客様番号='" & me![お客様番号] & "'")

とします。

 me! は、[Forms]![現在のフォーム名]! と同じ意味ですが、帳票フォームの詳細行に配置されたテキストボックスは、

クリックしたボタンの行のものが選択されますので、上記条件式の「me!お客様番号」には、

ちゃんとクリックした行の[お客様番号]が入ります。

http://www.accessclub.jp/bbs3/0093/superbeg33617.html

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

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

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

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

回答リクエストを送信したユーザーはいません