実現したいこと
テーブルを参照したコンボボックスのフィールドで、主キーのフィールドでなく別フィールドの文字列で検索して出てくるようにしたい。
前提
ACCESSで発注書の一覧を検索する機能を制作しており、発注ID、発注日、発注者、発注先などから検索フィールドを選択して、検索文字列のテキストボックスに入力した単語からLike検索でフィルターをかけて抽出するようにしています。
しかし、その中の発注先は発注先一覧のテーブルを参照にしており、そのせいか検索文字列では参照元テーブルの主キーフィールドの発注先IDの文字列でしか抽出されなくなっており、それに続くフィールドの発注先の名前を入力して検索した場合、検索機能に認識されず何も出てこない状態になっております。
主キーフィールドの発注先IDでなく、発注先名の方で検索をかけて出るようにしたいのですが、何かいい解決方法はありますでしょうか。
ValueをTextに替えるのは行いましたが、それでも発注先IDの方で認識されるのは変わりませんでした。
分かりにくい質問ですがどうぞよろしくお願いします。
発生している問題・エラーメッセージ
検索対象フィールドの中に、発注先のコンボボックスが存在するのだが、そのコンボボックスは発注先リストのテーブルと繋がっている。 そのせいか、発注先のコンボボックスを指定して検索した場合、テーブルの主キーフィールドの発注先IDで検索しないと出てこない。
該当のソースコード
Private Sub コマンド31_Click()
Dim db As DAO.Database 'データベースへの参照を代入する変数を宣言する
Dim rs As DAO.Recordset 'レコードセットへの参照を代入する変数を宣言する
Set db = CurrentDb() '現在のデータベースを参照する
'「Q_発注」クエリを開きレコードセットを再設定する
Set rs = db.OpenRecordset("Q_発注", dbOpenDynaset)
'リストから選択された検索フィールドで指定された検索文字列を検索する。
rs.Filter = Me.検索フィールド.Value & " LIKE '" & Me.検索文字列.Value & "'"
End If
Set rs = rs.OpenRecordset
Set Me.Recordset = rs
Me.Requery
End Sub
試したこと
検索フィールド.SetFocus
rs.Filter = Me.検索フィールド.Text & " LIKE '" & Me.検索文字列.Value & "'"
5行目を検索フィールドのコンボボックスをTEXTとして検索するこのコードに置き換えたが、それでも出てこなかった。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。