0

ユーザーがコンボ ボックスから選択したテーブルに基づいて、一度に 1 つのテーブルから検索できる検索フォームを作成しようとしています。searchCriteria というテキスト ボックスがあり、コンボ ボックスは TableList という名前です。ユーザーが customer_table を検索したい場合、コンボ ボックスで「customer_table」を選択し、テキスト ボックスに検索基準を入力して、検索ボタンを押すという考え方です。order_table を検索する場合は、コンボ ボックスなどからそのテーブルを選択します。入力した条件に関連するすべての完全なレコードをクエリで返すようにしたいと考えています。たとえば、ユーザーが顧客テーブルから「James」を検索した場合、条件「James」が存在する完全なレコード (すべてのフィールド) が返されるようにします。

 
    会社 | 名 | 姓 | アカウント番号 | 営業担当者
    ジャミージュース |   ジェームズ         | ダン | ダン | 555 | ジム・ハルバート
    ・ジェームスのカーショップ | トム | トム | クラム | 556 | ドワイト・スマイルズ
    ランドン冷凍 | ボブ | マクバンス | 557 |   ジェームズ・ブランド

私の理解では、クエリを作成するには VBA が必要になります…</p>

クエリは次のようになると想定しています。 SELECT t.* FROM customer_table t WHERE (t.*)::text LIKE '%James%';

入力された文字列 (James) とテーブル名 (customer_table) がユーザーによって入力された場所。

簡単に言うと、フォーム データ (テーブル名と検索テキスト) をクエリに取り込むのに問題があります。

Microsoft Access 2010 でこれを実装する方法を知っている人はいますか? 任意の洞察をいただければ幸いです。

4

3 に答える 3

-2

コンボボックスで選択したテキストを参照するには

Me.TableList.Column(0)

テキストボックス内のテキストを参照するには

Me.searchCriteria.Text

したがって、VBA コマンドは次のようになります。

DoCmd.RunSQL("SELECT t.* FROM " & Me.TableList.Column(0) & " t WHERE (t.*)::text LIKE '%" & Me.searchCriteria.Text & "%'")
于 2013-07-23T06:02:20.193 に答える