[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/02/24(Thu) 11:37
投稿者名:ももたろう
Eメール:
URL :
タイトル:
mdbの曖昧検索
検索フォームを作って、mdbを検索し、表示するPGを作成しています。
曖昧検索をするときに、「%」「_」を使用すると思いますが、例えばWebで検索する時のように
「*」「?」で検索する事はできないのでしょうか?
これはVBの仕様ですか?mdbの仕様なのですか?
回避策として、PGで「*」を入力した場合に「%」に置き換えて検索する方法もあると思いますが、
仕様かどうか知りたいので教えて下さい。
よろしくお願いします。

投稿時間:2005/02/24(Thu) 12:47
投稿者名:Say
Eメール:
URL :
タイトル:
Re: mdbの曖昧検索
> 「*」「?」で検索する事はできないのでしょうか?
できます。
> これはVBの仕様ですか?mdbの仕様なのですか?
Jetの仕様です。
ちなみに、「%」「_」はANSIなどの仕様です。

投稿時間:2005/02/24(Thu) 12:58
投稿者名:ももたろう
Eメール:
URL :
タイトル:
Re^2: mdbの曖昧検索
Sayさん返信ありがとうございます。
お手数でなかったらもう少し詳しく教えて下さい。

> > 「*」「?」で検索する事はできないのでしょうか?
> できます。
> > これはVBの仕様ですか?mdbの仕様なのですか?
> Jetの仕様です。
> ちなみに、「%」「_」はANSIなどの仕様です。

ANSIの仕様ということはADO接続しているからという事ですか?
今はADO接続をしていて、「%」「_」しか使えないので・・・
「*」「?」で検索したい場合はDAO接続になるのでしょうか?
それとも全く意味を取り違えてしまっていますか?
Jet、ANSIはあまりよく分からないので、調べてみます。

投稿時間:2005/02/24(Thu) 13:23
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: mdbの曖昧検索
> ANSIの仕様ということはADO接続しているからという事ですか?
> 今はADO接続をしていて、「%」「_」しか使えないので・・・
> 「*」「?」で検索したい場合はDAO接続になるのでしょうか?

そもそも Jet 4.0 の SQL には、ANSI SQL-89 のモードと、ANSI SQL-92のモードとがあります。

DAO は 常に ANSI-89 を利用しますが、OLE DB Provider for Microsoft Jet は、
常に ANSI-92 を使います。

ちなみに Access 2002 以降では、ANSI-89 モードと ANSI-92モードを
切り替えて使う事が可能になっています。(mdb単位の設定になります)


なお、ANSI-89 と ANSI-92 では、Like時の表現以外にも、予約語の違いや
ANSI-92でしか使えないSQL構文など、多くの違いがあります。
詳細については、Jet SQL リファレンス を参照してみてください。

投稿時間:2005/02/24(Thu) 15:53
投稿者名:ももたろう
Eメール:
URL :
タイトル:
Re^4: mdbの曖昧検索
魔界の仮面弁士さん返信ありがとうございます。

ネットでいろいろ調べていますが、奥深いですね。
勉強しながら、いろんな方法を試してみます。
ありがとうございました。

> > ANSIの仕様ということはADO接続しているからという事ですか?
> > 今はADO接続をしていて、「%」「_」しか使えないので・・・
> > 「*」「?」で検索したい場合はDAO接続になるのでしょうか?
>
> そもそも Jet 4.0 の SQL には、ANSI SQL-89 のモードと、ANSI SQL-92のモードとがあります。
>
> DAO は 常に ANSI-89 を利用しますが、OLE DB Provider for Microsoft Jet は、
> 常に ANSI-92 を使います。
>
> ちなみに Access 2002 以降では、ANSI-89 モードと ANSI-92モードを
> 切り替えて使う事が可能になっています。(mdb単位の設定になります)
>
>
> なお、ANSI-89 と ANSI-92 では、Like時の表現以外にも、予約語の違いや
> ANSI-92でしか使えないSQL構文など、多くの違いがあります。
> 詳細については、Jet SQL リファレンス を参照してみてください。