- 締切済み
Excel 2003 ADOの利用について。
Excel 2003 ADOの利用について。 Excel 2003 ADOの利用について。 現在、ExcelのVBAからADOを利用して自分自身のシートよりデータの抽出を行うものを作っています。 Recordsetを取得する際に意味不明なエラーが発生し、原因が分からず悩んでおります。 コードは下記の様になっております。 SQL = "SELECT Col1 FROM [Sheet1$]" SQL = SQL & " WHERE" SQL = SQL & " Col1 > 10" SQL = SQL & " and Col5 like '" & TextBox1 & "%'" Set RS = New ADODB.Recordset RS.Open SQL, CN, adOpenStatic, adLockReadOnly TextBox1の値をCol5列に存在する値を入れてやると、エラーは発生せずRecordsetを 取得し値を得ることができるのですが、Col5列に存在しない値を入れると、RS.Open行で必ずエラーが出ます。 エラー内容は下記の通りです。 --------------------------------------- Run-time error '-2147217900 (80040e14)' 不明 --------------------------------------- どうぞよろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 0909union
- ベストアンサー率39% (325/818)
デバッカーが入っているはずなんですが? もっと詳しいメッセージが出ていたはずです。 とりあえず、このような場合エラー番号でヘルプ及びネットで検索してください。それで分かるはずです。 検索例; http://www.kitagawa-hanga.com/se/s_vberr.html あなたの場合、まだプログラミングは初心者のようですね。変数に値がセットされていない場合の事を考えましょう。C++、VBなどはかならす最初に変数の初期化をしないとエラーになるので、この問題はあまりおこりませんが、想定される値が無い時、ステートメントエラーになる場合があります。これはLikeの仕様を見れば分かります。
補足
ご回答ありがとうございます。 >「デバッカーが入っているはずなんですが? もっと詳しいメッセージが出ていたはずです。」 エラーメッセージは本当にあれだけです。 >「とりあえず、このような場合エラー番号でヘルプ及びネットで検索してください。それで分かるはずです。」 一通り検索を行い、それでも分からなかった為、OKWaveにて質問しております。 >変数に値がセットされていない場合の事を考え・・・・ はい、この処理のもっと手前でもちろんチェックは入れてありますが。