こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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] & "*" & "'"

よろしくお願いします。

投稿日時 - 2005-11-01 13:33:38

QNo.1749697

困ってます

質問者が選んだベストアンサー

>部分一致のレコードを表示させるにはどうすればいいのですか?
検索用のフォームをデザインビューで開き、
プロパティ→データタブ→レコードソースの「…」→SQLクエリビルダの画面がでます
→抽出条件を下記のように
Like "*" & [Forms]![検索フォーム名]![テキスト105] & "*"
としてください。
コマンドボタンは今のままでOKです。
お試しください。

投稿日時 - 2005-11-01 15:13:15

お礼

ありがとうございます。
クエリの抽出条件、そのように入れればよかったのですね。おかげさまでできましたーー。

ほんとに、ありがとうございました。m(__)m

投稿日時 - 2005-11-02 10:17:38

ANo.2

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

ごめんなさいm(_ _)m

複数のデータ別のフォームを、テキストで指定した名称のフォームを部分検索して開くのかと思っていました(普通そんな事しませんよネ)

No.2さんの通り行って下さい。
勘違いしてました。紛らわしい事を記載しまして申し訳ありませんでした(^^;

投稿日時 - 2005-11-01 20:51:56

お礼

いえいえーー。そんな。。謝らないでくださいね。No.2さんのおかげでうまくいきました。

また、いろいろ教えてくださいませ。

ありがとーー。(^-^)

投稿日時 - 2005-11-02 10:18:56

ANo.1

DoCmd.OpenForm はそのフォームを開く命令ですので、一旦、Me![テキスト105]  の部分一致する内容をリストboxかコンボにでも表示をかけ、その後、そのフォーム名をクリックした場合に、DoCmd.OpenForm で表示しましょう

っで良いと思いますが、試してないのさだかではありませんが...(^^;

投稿日時 - 2005-11-01 13:44:56

あなたにオススメの質問