- ベストアンサー
複数のフィールドから検索
すみません。アクセス初心者です。 うまく説明できないんですが、 フィールド 氏名1~氏名10まであります。 テキストボックスに、検索したい名前をいれて検索をしたいのですが、 氏名1、氏名5、氏名8どのフィールドに名前があるかはわかりません。 氏名1~5まで名前が入力されてて6~10までは空白のもあります。 プロシージャでつくろうと思っていますが、初心者でも作るのは可能でしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3です、再び。 >マクロのWhere条件のとことに式をいれてみましたが、途中で入らなくなってしまいました。 >式が長いとダメなんでしょうか? え!そうですか…^^;私もここまで長い条件式は記述したことがないので、なんとも言えませんが… (ごめんなさい(_ _) したらば、プロシージャで… ※一応、長さ的に記述できるか確認済みです。 イベントプロシージャを起動させて、 ---------------------------------------- Private Sub コントロール名イベント名() Me.Filter = "[氏名1]=[Forms]![フォームの名前]![textboxの名前] Or [氏名2]=[Forms]![フォームの名前]![textboxの名前] Or …… [氏名10]=[Forms]![フォームの名前]![textboxの名前]" Me.FilterOn = True End Sub --------------------- ※「Me.Filter="Where条件式"」のかたち。式が長くなるが、改行せずに記述。 これでどうでしょうか?
その他の回答 (4)
- may0430
- ベストアンサー率54% (57/104)
#3、再々。 >実行時エラー2448「このオブジェクトに値を代入することはできません」 >なぜなんでしょう?? 記述したコードのどこかがおかしいのだと思うのですが、 もしかまわなければ、「Sub ~ End Sub」までをコピペしてもらってもよいでしょうか?
- may0430
- ベストアンサー率54% (57/104)
こんばんは。 どこまでフォームが作成できているのかわかりませんが、 >結果は表形式で一覧みたいにしたいです。 フォームのプロパティ→「書式」タブ→「規定のビュー」:「帳票フォーム」でどうでしょうか? ※検索用のテキストボックスはフォームのヘッダーに置く。 フィルタ(マクロ「フィルタの実行」)を使うのであれば、条件式は [氏名1]=[Forms]![フォームの名前]![textboxの名前] Or [氏名2]=[Forms]![フォームの名前]![textboxの名前] Or …… [氏名10]=[Forms]![フォームの名前]![textboxの名前] でいけると思いますよ。
お礼
ご回答ありがとうございます。マクロのWhere条件のとことに式をいれてみましたが、途中で入らなくなってしまいました。式が長いとダメなんでしょうか?
- nicotinism
- ベストアンサー率70% (1019/1452)
何となくですがテーブルの設計が良くないような? テーブルが ID 部署 氏名 1 北町 大岡 2 北町 銭形 3 南町 コロンボ のようであれば苦労はしなくて済むのですけどね。 http://support.microsoft.com/kb/209534/ja
- annie_yudu
- ベストアンサー率40% (2/5)
レイアウトが良く判りませんが、Dlookup関数でいかがでしょうか? またはFindメゾットでも可能だと思います。
補足
フィールド:試験名、試験日、氏名1、氏名2、氏名3・・・氏名10 例えば (1)簿記 7/1 山田太郎 山本花子 (2)英検 10/1 宇野正樹 石川亮 飯田信夫 山田太郎 (3)漢検 6/15 山本花子 というふうにフォームで登録していきます。 検索フォームを作って山田花子が何の試験を受けたのかとうい検索をしたいのです。結果は表形式で一覧みたいにしたいです。 検索結果:(1)簿記 7/1 山田太郎 山本花子 (2)漢検 6/15 山本花子 レイアウトがわかるでしょうか? フィルターを使ってうまく検索できないでしょうか?
補足
たびたび回答ありがとうございます。 プロシージャで記述してみましたが、エラーになってしまいました。 実行時エラー2448「このオブジェクトに値を代入することはできません」 なぜなんでしょう??