tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルvbから追加クエリ実行出来ない
記事No12880
投稿日: 2008/08/11(Mon) 08:25
投稿者パトラッシュ
環境
 Windows2000
 VB6
 ACCESS2000

初めて投稿させてもらいます パトラッシュと申します。
私は、VBもアクセスも始めたばかりの超初心者ですが、本を片手に日々取り組んでます。
それで、今回、VBを使ってアクセスの追加クエリを実行しようと取り組んだところ、
うまく処理が出来ませんでした。(過去の掲示板を参考にしてみて作った)

アクセス上に、2つのテーブルが存在します。
ひとつは、金額や名前が入ったテーブル。もうひとつは、その名前を検索するためのテーブル。
それで、検索条件内に、”*” をつけた状態でVBからクエリを実行すると
何も検索結果を得ることが出来ません。
(アクセス上でクエリを実行するとうまく処理できます。)

ちなみに、SQLビューで確認すると、下記のような内容になりました。
INSERT INTO 結果 ( 発注先名, 品名, 型式, 納入単価, 納入日 )
SELECT [2007年].発注先名, [2007年].品名, [2007年].型式, [2007年].納入単価, [2007年].納入日
FROM 2007年, 検索
WHERE ((([2007年].型式) Like [検索].[型式]));

説明不足で理解しにくいかもしれませんが、よきアドバイスの程、お願いします。

[ツリー表示へ]
タイトルRe: vbから追加クエリ実行出来ない
記事No12881
投稿日: 2008/08/11(Mon) 09:37
投稿者るしぇ
実際の [2007年], [検索]テーブルデータの内容と

サブクエリ
>SELECT [2007年].発注先名, [2007年].品名, [2007年].型式, [2007年].納入単価, [2007年].納入日
>FROM 2007年, 検索
>WHERE ((([2007年].型式) Like [検索].[型式]))
の結果は?

[2007年]発注先名, [2007年].品名, [2007年].型式, [2007年].納入単価, [2007年].納入日
--------------------------------------------------------------------------------------
発注先1,     品名1,     型式1,     200,       2007/08/11
発注先2,     品名2,     型式2,     300,       2007/08/13
みたいな感じで、説明してもらえます?

あと、
>検索条件内に、”*” をつけた状態でVBからクエリを実行すると
どこにどうつけたんですか?説明されていないように思いますが?

[ツリー表示へ]
タイトルRe^2: vbから追加クエリ実行出来ない
記事No12882
投稿日: 2008/08/11(Mon) 10:52
投稿者パトラッシュ
> 実際の [2007年], [検索]テーブルデータの内容と
>
> サブクエリ
> >SELECT [2007年].発注先名, [2007年].品名, [2007年].型式, [2007年].納入単価, [2007年].納入日
> >FROM 2007年, 検索
> >WHERE ((([2007年].型式) Like [検索].[型式]))

るしぇさんへ
 色々と手抜き状態で申し訳ありませんでした。
 まず、@2007年のテーブルの内容は
   ID,発注先名,品名,型式,納入単価,納入日
     ------------------------------------------
       1,業者1,ネジ ,M13  ,100    ,2007/01/01
       2,業者1,ネジ ,M2   ,200    ,2007/04/01
       3,業者2,ネジ ,M11  ,120    ,2007/05/01
  A検索用テーブル(1件しかデータが存在しない)
    型式
   ---------
       M1*
以上のテーブルを用いて、先程の追加クエリを実行しようと試みました。
検索用テーブルのデータ(*がついたデータ)を先ほどのクエリで実行すると
何も取り込まず、検索用データテーブルの中の*をやめた状態でクエリを実行すると
取り込めます。("M13"と検索用テーブルに入力した状態で実行すると取り込めます)

このような説明で大丈夫でしょうか?

[ツリー表示へ]
タイトルRe^3: vbから追加クエリ実行出来ない
記事No12883
投稿日: 2008/08/11(Mon) 15:56
投稿者るしぇ
Access2000 若しくは、Access2002 に於いて、ADO を使用して文字列を検索する場合
「*」 を 「%」 に置き換えてください。

[ツリー表示へ]
タイトルRe^4: vbから追加クエリ実行出来ない
記事No12887
投稿日: 2008/08/12(Tue) 07:58
投稿者パトラッシュ
> Access2000 若しくは、Access2002 に於いて、ADO を使用して文字列を検索する場合
> 「*」 を 「%」 に置き換えてください。

るしぇさんへ

 返事が遅くなって申し訳ございませんでした。
 ”%” に置き換えて実行したところ、ばっちりうまく処理することが出来ました。
 本当にありがとうございました。

 ただ、なぜ "*" ではなく "%" だとうまくいくのか分からないので、
 もしよければ、教えてもらえると大変嬉しいのですが・・・。
 私も、もっと本とか掲示板を参考にしながら頑張っていきます。
 本当にありがとうございました。

[ツリー表示へ]
タイトルRe^5: vbから追加クエリ実行出来ない
記事No12890
投稿日: 2008/08/12(Tue) 12:53
投稿者るしぇ
>  ただ、なぜ "*" ではなく "%" だとうまくいくのか分からないので、
>  もしよければ、教えてもらえると大変嬉しいのですが・・・。
規格が違うからです。
ANSI-92 SQL と ANSI-89 SQL です。

[ワイルドカード文字リファレンス]
http://office.microsoft.com/ja-jp/access/HA011715361041.aspx#Reference
の[メモ]のあたりとか。

[Microsoft Office XP 制限事項]
http://www.microsoft.com/japan/office/support/limits.mspx#EYF
とか。

...あ、ADOがどっち使ってるかの資料がいるのか。。。
といってもパトラッシュさんがADO使ってるかどうかは教えてもらって
無いですがww
MicroSoftの記述が引っ掛からなかったので、とりあえず↓(^^;
http://www.nurs.or.jp/~ppoy/access/access/acM012.html

[ツリー表示へ]
タイトルRe^6: vbから追加クエリ実行出来ない
記事No12901
投稿日: 2008/08/18(Mon) 07:40
投稿者パトラッシュ
るしぇ さん

 返事が大変遅くなり申し訳ございませんでした。
 アドバイス・参考資料等の説明、大変ありがとうございました。
 大変、勉強になりました。
 本当にありがとうございました。

[ツリー表示へ]