- ベストアンサー
accessで、フォームの検索をしたいのです。
今ACCESSで、データ管理をしているのですが、どうしてもうまくいかなくて、困っています。 毎日の出来事を記述するテーブル用のフォームを作って、記述していて、そのデータがたまってきています。 他のフォームに、検索用のテキストボックスとコマンドボックスを作って検索したいのです。 コントロールウィザードを使うと、完全一致のデータしかでてこないのですが、部分一致のレコードを表示させるにはどうすればいいのですか? 教えていただけるとうれしいです。 コントロールウィザードを使うと以下のようになります。多分少しどこかを変えるといいのではないかと思うのです。どうか、よろしくお願いします。 Private Sub コマンド144_Click() On Error GoTo Err_コマンド144_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(21839) & ChrW(12356) & ChrW(21512) & ChrW(12431) & ChrW(12379) & ChrW(12513) & ChrW(12514) stLinkCriteria = "[内容]=" & "'" & Me![テキスト105] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド144_Click: Exit Sub Err_コマンド144_Click: MsgBox Err.Description Resume Exit_コマンド144_Click End Sub もしかして。。と思い、以下の部分、 stLinkCriteria = "[内容]=" & "'" & Me![テキスト105] & "'" を次のように変えてみたけれど、やっぱりうまくいきませんでした。 stLinkCriteria = "[内容]=" & "'" & "*" & Me![テキスト105] & "*" & "'" よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>部分一致のレコードを表示させるにはどうすればいいのですか? 検索用のフォームをデザインビューで開き、 プロパティ→データタブ→レコードソースの「…」→SQLクエリビルダの画面がでます →抽出条件を下記のように Like "*" & [Forms]![検索フォーム名]![テキスト105] & "*" としてください。 コマンドボタンは今のままでOKです。 お試しください。
その他の回答 (2)
- arare2005
- ベストアンサー率31% (63/199)
ごめんなさいm(_ _)m 複数のデータ別のフォームを、テキストで指定した名称のフォームを部分検索して開くのかと思っていました(普通そんな事しませんよネ) No.2さんの通り行って下さい。 勘違いしてました。紛らわしい事を記載しまして申し訳ありませんでした(^^;
お礼
いえいえーー。そんな。。謝らないでくださいね。No.2さんのおかげでうまくいきました。 また、いろいろ教えてくださいませ。 ありがとーー。(^-^)
- arare2005
- ベストアンサー率31% (63/199)
DoCmd.OpenForm はそのフォームを開く命令ですので、一旦、Me![テキスト105] の部分一致する内容をリストboxかコンボにでも表示をかけ、その後、そのフォーム名をクリックした場合に、DoCmd.OpenForm で表示しましょう っで良いと思いますが、試してないのさだかではありませんが...(^^;
お礼
ありがとうございます。 クエリの抽出条件、そのように入れればよかったのですね。おかげさまでできましたーー。 ほんとに、ありがとうございました。m(__)m