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

締切り済みの質問

accessのカナ検索

DBをクエリで検索したいのですが、DBには”ジヨウ”と"ジョウ"格納されています。
"ジョウ"と入力し両方のデータを呼び出すことは可能でしょうか?
strconvのvbuppercaseとかだと英文字のみ大文字になりカナ小文字は変換されません。

ご指導のほどよろしくお願いいたします。

投稿日時 - 2013-10-03 12:09:25

QNo.8289851

すぐに回答ほしいです

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

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

回答(7)

ANo.7

No5、No6です。
回答のクエリは対応する文字列に同じ文字列が
含まれているかということですから、使い方は
限定されます。

実際に検索する文字列が文字列として比較するのか、
あるいは、並びに関係なく文字が含まれているか、
などによって検索する方法が違ってきます。

文字列として文字の並びも同じであるとするならば、
自作関数を作って比較するしかありません。

自作関数としては、
1 文字列をすべて大文字か小文字に変換する関数
2 変換した文字列同士を先頭から順に比較する関数
などが必要になります。

たとえば以下にあるような関数をアレンジして
作成するようになります。

http://blog.livedoor.jp/akf0/archives/51162312.html

作成した関数をクエリの抽出条件に設定する、というような
ことになります。

投稿日時 - 2013-10-03 22:18:47

ANo.6

No5です。
続きとして、No5のクエリの抽出条件を

Like "*[" & [検索] & "]*"

とすると、標題が「検索」の「パラメータの入力」ダイアログが
表示されるので、そこにカタカナの文字列を入力すれば、任意に
検索できます。

投稿日時 - 2013-10-03 20:46:27

ANo.5

たとえば、以下のようなテーブルがあるとします。


テーブル名:myTable

ID    文字列
1   コップンッチャ
2   コツプンツチヤ

選択クエリで、

SELECT myTable.ID, myTable.文字列
FROM myTable
WHERE (((myTable.文字列) Like "*[コツプンツチヤ]*"));

つまり、フィールド「文字列」の抽出条件に、

Like "*[コツプンツチヤ]*"

と設定すると、小文字、大文字に関係なく抽出されます。

投稿日時 - 2013-10-03 20:38:50

ANo.4

訂正:画像を間違っていました。

投稿日時 - 2013-10-03 16:39:45

ANo.3

"ジョウ"
 ↓
"ジ[ヨ,ョ]ウ"

と指定すれば・・・。

投稿日時 - 2013-10-03 16:36:16

ANo.2

拗音・促音 で検索すれば変換するようなサンプルもすぐ見付かる
ような話だったw

平仮名もあるから
「ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮ」
で全てみたいです。

投稿日時 - 2013-10-03 12:31:54

ANo.1

ヒョウ(表)とヒヨウ(費用)では意味が違ってきますからね。
そのようなルールのニーズが少ないと思います。

拗音・促音という括りであれば、
ァィゥェォヵヶッャュョヮ
で全てだと思うので、自前のプログラムで処理を書いても
さほど難しい話ではないと思います。

OR で2つの条件を満たすようにすればいいのでは?

投稿日時 - 2013-10-03 12:23:52

あなたにオススメの質問