ホームページ > データベース > mysql チュートリアル > Excel VBA で SQL データベースにアクセスするとランタイム エラー 3704 が発生するのはなぜですか?

Excel VBA で SQL データベースにアクセスするとランタイム エラー 3704 が発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2025-01-03 18:15:44
オリジナル
686 人が閲覧しました

Why Am I Getting Runtime Error 3704 When Accessing a SQL Database in Excel VBA?

Excel-VBA での SQL データベースへのアクセス: ランタイム エラーのトラブルシューティング

VBA コードを使用して SQL データベースから Excel シートにデータを取得しようとすると、次のような問題が発生する場合があります。実行時エラー 3704。閉じられたオブジェクトに対する無効な操作を示します。これは通常、データがレコードセットから Excel シートにコピーされるステップ中に発生します。

このエラーの考えられる原因の 1 つは接続文字列にあります。接続文字列に、アクセスするデータベースの名前を指定する Initial Catalog パラメーターが含まれていることを確認してください。以下は、パラメーターを含む更新された接続文字列です:

objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
ログイン後にコピー

もう 1 つの問題は、SQL コマンドを指定するときに追加の間接層の使用である可能性があります。コードを簡素化し、エラーを回避するには、次のように SQL ステートメント文字列を直接使用できます:

strSQL = "select * from myTable"
ログイン後にコピー

次に、SQL ステートメント文字列をコマンド テキストとして使用してレコードセットを開きます:

objMyRecordset.Open strSQL
ログイン後にコピー

これらの潜在的な問題に対処し、接続文字列が完全で SQL コマンドが正しく実行されていることを確認すると、次のコマンドを使用して SQL データベースから Excel シートにデータを正常に取得できるようになります。 VBA。

以上がExcel VBA で SQL データベースにアクセスするとランタイム エラー 3704 が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート