Accessで半角の「?」(クエスチョンマーク)を検索するにはどうしたらよいでしょうか。
実はAccessで検索する場合に「?」を使うと「任意の1文字」を表す、いわゆるワイルドカードになってしまいます。そのため、普通に検索すると、すべての文字がヒットしてしまい、使えません。
「?」という文字そのものを検索するには、角括弧で挟み「[?]」を検索する文字列に指定します。
「*」(アスタリスク)もワイルドカードになってしまうので、「[*]」を使います。
Excelの場合もワイルドカードになってしまいますので、工夫が要りますが、方法が違います。
半角チルダを使い、「˜?」「˜*」とします。
Wordの場合は、ワイルドカードとして使用しなければ、通常通り検索できます。
それぞれの検索方法と結果をまとめてみました。次のようなデータを検索したものとします。いずれも2007で確認しました。
abcdef
abc?def
abc*def
Access
| 検索する文字列 | 結果 |
|---|---|
| * | 「abcdef」「abc?def」「abc*def」がヒット。 |
| ? | 「a」「b」「c」など任意の1文字がヒット。 |
| [*] | 「*」がヒット。 |
| [?] | 「?」がヒット。 |
| ˜* | ヒットせず。 |
| ˜? | ヒットせず。 |
※「探す場所」をテーブル全体とし、「検索条件」を「フィールドの一部分」としました。
Excel
| 検索する文字列 | 結果 |
|---|---|
| * | 「abcdef」「abc?def」「abc*def」がヒット。 |
| ? | 「abcdef」「abc?def」「abc*def」がヒット。 |
| [*] | ヒットせず。 |
| [?] | ヒットせず。 |
| ˜* | 「abc*def」がヒット。 |
| ˜? | 「abc?def」がヒット。 |
Word
| 検索する文字列 | 結果 |
|---|---|
| * | 「*」がヒット。 |
| ? | 「?」がヒット。 |
| [*] | ヒットせず。 |
| [?] | ヒットせず。 |
| ˜* | ヒットせず。 |
| ˜? | ヒットせず。 |
Word(ワイルドカード使用)
| 検索する文字列 | 結果 |
|---|---|
| * | 「a」「b」「c」など任意の1文字がヒット。段落記号(改行)もヒット。 |
| ? | 「a」「b」「c」など任意の1文字がヒット。段落記号(改行)もヒット。 |
| [*] | 「*」がヒット。 |
| [?] | ヒットせず。 |
| ˜* | ヒットせず。 |
| ˜? | ヒットせず。 |


コメント