![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
2002アクセスを使っている初心者です。社員名簿を作っています。テーブル社員名簿.TBL、フィールド「氏名」・・・その他について、単票フォームを作成しました。ツールボックスより、リストコントロールを選択して、貼り付けると、リストボックスウイザードが立ち上がり、その中の3つのメニューの3番目の「リストボックスで選択した値に対応するレコードをフォームで検索する」を選択して、フィールド「氏名」を元に検索してその氏名のレコードの情報をを表示するようにしました。社員全データでは、調子良く動いています。この度、「課」別に表示しようとしています。メニューバーの中のフィルタ(漏斗の絵)を使って、選択フィルタで目標の「課」選択して、実行フィルタを押すと、単票フォームのレコード数は変化して、うまくフィルタしますが、リスト内の「氏名」データがフィルタされません。どうしたらクリックと同時にリスト内のフィールド「氏名」もフィルタされるのですか?宜しくお願いします。
No.2ベストアンサー
- 回答日時:
すいません、返事が遅れてしまいました
フォームのフィルタ機能に対応して、
リストボックスに表示されている内容を更新する方法ですよね
Access2000以降は、フォームのイベントに「フィルタ実行時」が、
追加されていますので、そのイベントに対応する処理をコーディングします
下記サンプルソースを貼り付けて、試してみて下さい
多分できると思います
'------------------------------
'フィルタ実行時のイベント
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
Dim stSQL As String
'リストの基本ソース設定
stSQL = "SELECT テーブル1.ID, テーブル1.氏名 FROM テーブル1 "
'フィルタ条件を付加(フィルタ解除時は何もしない)
If ApplyType = 1 Then
stSQL = stSQL & _
"WHERE " & Me.Filter
End If
'SQL最終文字付加
stSQL = stSQL & ";"
'表示リストデータの更新
Me![リスト8].RowSource = stSQL
End Sub
'------------------------------
もうだめかと、思いながら、待っていました。ご親切にどうも有り難うございました。早速試してみます。やはり、持つべきものは、友です。
No.1
- 回答日時:
お疲れ様です
やりたい事は、VBAを使用しないと出来ない事だと思われます。
もし、VBAでもよろしければ...
※社員名簿TBLのフィールド構成を教えてもらうと具体的に説明可能です
この回答への補足
お願いします。
社員名簿TBL:フィールド「氏名」「性別」「所属課」「プロフィル」でテーブルを作成して、フォームで新規に単票を作成、デザインでツールボックスのリストを貼り付けると、リストウイザードが立ち上がり、3番目の「選択して・・・」にチェックを入れて「氏名」で選択して OK を押すと、一応原型は出来上がりました。
リストのプロパテイで
データの値集合ソースは SELECT テーブル1.ID, テーブル1.氏名 FROM テーブル1; で連結列は1
イベントの更新後処理は[イベント プロシージャ]そのコードは
General Option Compare Database で
Private Sub リスト8_AfterUpdate()
' コントロールの値と一致するレコードを検索する
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[ID] = " & Str(Nz(Me![リスト8], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
となっていました。
これをフォームフィルタ(ロートの形)を押して「性別」”男”でフィルタ実行(別ロートの形)を押すと、レコードセレクタ内容はかわりますが、リストの内容は変わりません。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Outlook(アウトルック) Excel表のメールアドレスリストからoutlookの宛先を設定、メールを送信する方法 2 2022/09/16 05:29
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルオートフィルタで余計...
-
エクセルで、桁数の異なるデー...
-
色フィルターをかけた状態で、...
-
Excel関数、何がいけないのかわ...
-
5の倍数の日付だけを抽出したい
-
エクセルの計算表の下向き三角...
-
エクセルについて。 ソートで絞...
-
エクセルで特定の範囲内から小...
-
行番号の文字の色が青色の理由?
-
【Excel】 可視セルへの貼り付...
-
オートフィルタで抽出したデー...
-
教えて下さい!関数SUBTOTALとC...
-
=SUBTOTAL に =COUNTIF の機能...
-
Excelのチェックボックスについ...
-
アクセス2007 VBAで抽出の一...
-
エクセル:色の付いたデータを...
-
excelで奇数の行のみ削除したい
-
UsedRangeを使ってソートするこ...
-
Excelの特定のセル内で“X”文字...
-
オートフィルタの使用にチェッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルオートフィルタで余計...
-
エクセルで、桁数の異なるデー...
-
色フィルターをかけた状態で、...
-
エクセルのフィルタをかけると...
-
オートフィルタで抽出したデー...
-
エクセルの計算表の下向き三角...
-
教えて下さい!関数SUBTOTALとC...
-
Excel関数、何がいけないのかわ...
-
エクセルで特定の範囲内から小...
-
行番号の文字の色が青色の理由?
-
5の倍数の日付だけを抽出したい
-
エクセルを使用してデジタルフ...
-
Excel2010 フィルタで抽出できない
-
=SUBTOTAL に =COUNTIF の機能...
-
エクセル:色の付いたデータを...
-
Excelでオートフィルタ時に交互...
-
色のついたセルにフラグを立た...
-
【Excel】 可視セルへの貼り付...
-
グーグルスプレッドシート 連番...
-
excelで奇数の行のみ削除したい
おすすめ情報