tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル EXCEL シートをレコードセットで取りこめない
投稿日: 2020/07/09(Thu) 20:33
投稿者悩めるEXCELマクロ士
いつもお世話になっています。
早速ですが、質問です。
以前にも投稿させていただきましたが
私は、現在EXCELVBAでアプリを作成しています。
そのとき、EXCELシートをレコードセットで
取り込む方法をご教授いただき順調に開発が
進んでいたんですが、最近になって新たな機能追加が
発生して、シートからデータを取得する必要が出たため
すでに開発済みで動作確認済みのシートデータを
レコードセットで取得する関数を使って取り込もうと
思ったのです。
いざ、取り込もうと思って実行したところ
『抽出条件でデータ型が一致しませんでした』と
エラーが出てレコードセットを取得することが
出来ませんでした。
それまで、開発してあるプロシージャからだったら
今も問題なく、シートからレコードセット経由で
データを取得できるんですが、新しく開発したほうからは
どうしてもだめでした。
ただ、わからないのはSQL文に関しては取得できる
ものと全く同じものが生成されるのでそれで取得できないのは
なぜ?という疑問に陥ってしまっています。
その後、いろいろと試行錯誤して原因はどうやらWHERE句に
あるようで、
取得できる法のSQLでは、
[SELECT * FROM (シート名&取得エリア) WHERE CD = '検索対象CD']と
なっているのを
[SELECT * FROM (シート名&取得エリア) WHERE CD = 検索対象CD]と
修正すると取得できます。
なぜそうなるのかと、対応方法をご教授いただけると幸いです。
現在は、フラグを使ってダメなほうからCallした時には
シングルコーテーションを付けないWHERE句を作成する法に誘導していますが
これだと、シートにデータが追加になった時などに対応できない
可能性があるので、どちらからでも同じWHERE句で取得できるように
したいです。
乱文、長文になってしまって申し訳ありませんが
よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。