No.2ベストアンサー
- 回答日時:
> 選択したデータをメインフォームに反映させたい
そういうことでしたら、検索結果の表示には、サブフォームではなくリストボックスを
使われてはいかがでしょうか。
*複数フィールドのデータ表示はリストボックスでも可能です。
但し、データシート型のサブフォームと違い、Accessの標準機能ではマウス
ドラッグによるフィールドの表示幅の変更はできないため、データの詳細確認は
メインフォームで行うことになります。
テーブルやフォームの構成がわからないので、とりあえずポイントだけ説明すると・・・
(既に、検索結果をサブフォームに表示させる方法をご存知の状況下ですので、
冗長すぎる説明になってしますかもしれませんが(汗))
<リストボックスの設定>
◎プロパティシートの『書式』タブ内:
・列数:
リストボックスに表示させるフィールド数を入力
(但し、主キーフィールドを非表示にする場合は表示フィールド数+1)
・列幅:
必要に応じて設定
(特に設定しない場合は「リストボックスの幅=1フィールドの幅」になり、
各フィールドのデータ確認には、リストボックス内の横スクロールバーを
使用することになります)
※上記の設定により、複数フィールドが表示されるようになります。
(下記の「値集合ソース」の設定は必須)
◎プロパティシートの『データ』タブ内:
・コントロールソース:
今回はレコードの指定に使用するので、設定は無用
・値集合ソース:
既定で入力されている「テーブル/クエリ」のままでOK
・値集合ソース:
サブフォームで現在使用しているクエリ(又はSQL文)を使用
(但し、メインフォームで表示することになるレコード1件を特定するための
フィールド(主キーなど)が含まれていない場合は、追加する必要あり)
・連結列:
上記の「メインフォームで表示するレコード1件を特定するためのフィールド」
が、クエリの何番目のフィールドに当たるかを記録します。
(これにより、リストボックスに実際に入力される値が決定されます)
◎プロパティシートの『イベント』タブ内:
・更新後処理:
リストボックスの値の変更に合わせて、メインメニューの表示を更新する
コードを記述します。
1)プロパティシートの上記行にカーソルを移動
2)右端に表示される「...」(ビルダ)ボタンをクリック
3)『ビルダの選択』ダイアログで「コード ビルダ」を選択して『OK』をクリック
4)VBE画面が表示されます。
「Private Sub ○○_Click()」「End Sub」(「○○」はリストボックス名)の
2行が追記されているはずなので、その間の行に以下のコードを追記:
Me.Requery
5)VBE画面を閉じる
プロパティシートに「[イベント プロシージャ]」と表示されていることを確認
6)フォームを保存して閉じる
<メインフォームの設定>
◎プロパティシートの『データ』タブ内:
・レコードソース:
上記リストボックスを検索条件(Where条件句)とするクエリを新規作成し、
それを指定
・・・以上です。
なお、検索条件の更新をサブフォームに反映するVBA(又はマクロ)を既に組まれて
いると思いますが、そこはリストボックスの更新(再クエリ(Requery)でよいはず)に
変更してください。
この回答へのお礼
お礼日時:2008/06/09 17:21
ご丁寧にありがとうございます。
なんだか私でもがんばればできる気になりました。
毎日アクセスを使っているわけではないので、
いまひとつ進化ができずにいたのですが、
こんな私でもみなさんのおかげで成長できそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
「メソッドまたはデータメンバ...
-
アクセスでテーブルの変更内容...
-
ACCESSのフォームからデータの...
-
Access2002 フォームを閉じるた...
-
選択したチェックボックスのみ...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
Accessのフォームに表示...
-
Accessのハイパーリンクのパス...
-
アクセスのフォームのビューが...
-
アクセス2003サブフォームで選...
-
ACCESSでのテキストボックスの...
-
入力途中の入力した値をすべて...
-
Access コマンドボタンクリッ...
-
アクセス 0以外をカウントす...
-
ACCESS フォームにデータ入力で...
-
ADOでRecordsetオブジェクトを...
-
Accessフォームのテキストボッ...
-
他フォームのチェックボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
アクセスでテーブルの変更内容...
-
アクセスのフォームのビューが...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
ACCESSで入力フォームをHTMLフ...
-
「メソッドまたはデータメンバ...
-
帳票フォームに全レコードを表...
-
テキストボックスの値をテーブ...
-
アクセス 0以外をカウントす...
-
テキストボックス(アクセス)内...
-
Access2002 フォームを閉じるた...
-
アクセスでの項目追加について...
-
Access フォーム上でコンボボッ...
-
Accessのフォームで作業領域を...
-
入力途中の入力した値をすべて...
-
ACCESSの表形式で、レコードを...
おすすめ情報