「一気に最後まで読んだ」本、教えて下さい!

前任者が作ったデータベースを触っています。

私自身はAccessの基本操作がわかるくらいでVBAとかはよくわかりません。
今回その修正がしたいと思っています。

検索用フォームがあり、現在3つのコンボボックスがあってそれを選択して
「検索開始」をしています。
今回、その検索用フォームに「キーワード検索」というテキストボックスを1つ追加したいです。

検索の対応となるフィールドは2つあります。
「質問」「回答」
このどちらかのフィールドに「キーワード検索」した文字があればレコードを抽出してほしいです。

とりあえず検索結果を表示するためのクエリの「質問」「回答」の抽出条件に同様に
Like "*" & [Forms]![F_検索フォーム]![キーワード] & "*"と入れてみました。

なんとなく違う気はするのですが、どうやってやれば良いのかイマイチわかりません。
またこの同じクエリに
IIf(IsNull([Forms]![F_検索フォーム]![区分1cd]),True,[区分1cd]=[Forms]![F_検索フォーム]![区分1cd])
抽出条件欄に「True」
これが3つのコンボボックス分あります。
何のためのフィールドでしょうか?
また、私が追加する「キーワード検索」テキストボックスの分も作らないといけないものでしょうか?

素人質問で申し訳ありませんがアドバイスいただけたら助かります。
Accessのテキストは職場にたくさんあるのですが、私のレベルでは読んでも??ばかりです。
よろしくお願いします。

A 回答 (1件)

(1)


前提として、フォームにデータが表示されている、ということにします。
フォームに二つのボタンを追加します。以下にボタンのクリック時のイベント
を設定するコードを提示します。ボタンの名前は実際に合わせてください。
これで確認してみてください。



'データにキーワードでフィルタをかけます
Private Sub コマンド12_Click()
If Not IsNull(Me!キーワード検索) Then
Me.Filter = "質問 Like ""*" & Me!キーワード検索 & "*"" Or " & "回答 Like '*" & Me!キーワード検索 & "*'"
Me.FilterOn = True
End If
End Sub

'フィルタを解除して表示を元に戻します
Private Sub コマンド13_Click()
Me.FilterOn = False
End Sub




(2)
>IIf(IsNull([Forms]![F_検索フォーム]![区分1cd]),True,[区分1cd]=[Forms]![F_検索フォーム]![区分1cd])


IIf関数で検索するか、あるいはヘルプを見ればIIf関数の働きが
わかるとは思いますが。
もし、上記の式がクエリの抽出条件に設定されているならば、

「F_検索フォーム」の「区分1cd」がNull(データが入力されていない)
ならば「True」を設定し、データが入力されていれば「F_検索フォーム」
の「区分1cd」のデータを設定し、それを抽出条件とする。

といような意味です。


分からないところがあれば補足してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
一度、ご指示いただきました設定をしてみます。

また補足させていただくかもです・・・よろしくお願いします。

お礼日時:2012/10/31 09:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報