みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

アクセスで単票でリスト内もフィルタかけたい

2002アクセスを使っている初心者です。社員名簿を作っています。テーブル社員名簿.TBL、フィールド「氏名」・・・その他について、単票フォームを作成しました。ツールボックスより、リストコントロールを選択して、貼り付けると、リストボックスウイザードが立ち上がり、その中の3つのメニューの3番目の「リストボックスで選択した値に対応するレコードをフォームで検索する」を選択して、フィールド「氏名」を元に検索してその氏名のレコードの情報をを表示するようにしました。社員全データでは、調子良く動いています。この度、「課」別に表示しようとしています。メニューバーの中のフィルタ(漏斗の絵)を使って、選択フィルタで目標の「課」選択して、実行フィルタを押すと、単票フォームのレコード数は変化して、うまくフィルタしますが、リスト内の「氏名」データがフィルタされません。どうしたらクリックと同時にリスト内のフィールド「氏名」もフィルタされるのですか?宜しくお願いします。

投稿日時 - 2002-12-24 19:17:53

QNo.435033

暇なときに回答ください

質問者が選んだベストアンサー

すいません、返事が遅れてしまいました

フォームのフィルタ機能に対応して、
リストボックスに表示されている内容を更新する方法ですよね

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
'------------------------------

投稿日時 - 2003-01-25 15:55:26

お礼

もうだめかと、思いながら、待っていました。ご親切にどうも有り難うございました。早速試してみます。やはり、持つべきものは、友です。

投稿日時 - 2003-01-27 08:47:35

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

お疲れ様です
やりたい事は、VBAを使用しないと出来ない事だと思われます。
もし、VBAでもよろしければ...

※社員名簿TBLのフィールド構成を教えてもらうと具体的に説明可能です

投稿日時 - 2002-12-26 14:13:50

補足

お願いします。
社員名簿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

となっていました。

これをフォームフィルタ(ロートの形)を押して「性別」”男”でフィルタ実行(別ロートの形)を押すと、レコードセレクタ内容はかわりますが、リストの内容は変わりません。
よろしくお願いします。

投稿日時 - 2002-12-26 22:08:37

あなたにオススメの質問