- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス ADO)
Access ADOでのSQLステートメントエラーの原因と解決方法
このQ&Aのポイント
- AccessのADODB.Connectionオブジェクトを使用してSQLステートメントを実行する際に、「実行時エラー-2147217900(80040e14)」が発生する問題があります。
- このエラーは、SQLステートメントが正しくない場合に発生します。具体的には、Delete、Insert、Procedure、Select、またはUpdate以外のキーワードを使用している場合や、存在しないテーブルやオブジェクトにアクセスしようとしている場合に発生します。
- このエラーが発生する場合、以下の点を確認する必要があります。まず、使用しているSQLステートメントが正しいかどうかを確認します。また、アクセスしようとしているテーブルまたはオブジェクトが存在するかどうかも確認します。さらに、使用しているADODB.Connectionオブジェクトが正しく設定されているかどうかも確認する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
rs.Open "Tテーブル", cn, adOpenStatic, adLockPessimistic, adCmdTable ではいかがでしょうか?
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
質問に書いているコードは、エラーを聞いているにしては、省略しすぎじゃない。 レコードを処理し始めるところまでぐらい、全行を補足掲示すべきと思う。差し障るところは工夫して記述。 プログラムでは1文字違いでも、エラーになる場合があるし、データのあり様もエラーに影響するよ。その怖さを知ることが大切と思う。
質問者
お礼
回答頂きありがとうございました。
- rasuka555
- ベストアンサー率49% (175/352)
回答No.2
省略しておられるのかもですが、まずは定型句ではありますが、 宣言部である以下のものは入っておりますか? Dim cn As ADODB.Connection Dim rs As ADODB.Recordset もう1つ、おそらくこちらが原因ですがrsが何も定義されておりません。 その為、rsをRecordsetオブジェクトではなく、Connection オブジェクトとして処理しようとしているのでしょう。 Set rs = New ADODB.Recordset を挿入すれば動くように見受けられます。
質問者
お礼
回答頂きありがとうございました。
お礼
回答頂きありがとうございました。