Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat Masa Jalan 3704 Apabila Mengakses Pangkalan Data SQL dalam Excel VBA?

Bagaimana untuk Membetulkan Ralat Masa Jalan 3704 Apabila Mengakses Pangkalan Data SQL dalam Excel VBA?

Susan Sarandon
Susan Sarandonasal
2025-01-04 08:27:39273semak imbas

How to Fix Run-time Error 3704 When Accessing SQL Databases in Excel VBA?

Mengakses Pangkalan Data SQL dalam Excel-VBA: Menyelesaikan Ralat Masa Jalan 3704

Dalam mengakses data daripada pangkalan data SQL menggunakan kod VBA, anda mungkin menghadapi ralat semasa mencuba untuk menyalin data daripada set rekod ke Excel. Khususnya, ralat "Ralat masa jalan 3704: Operasi tidak dibenarkan apabila objek ditutup" berlaku apabila objek set rekod ditutup.

Untuk menyelesaikan isu ini:

  1. Sahkan kebolehcapaian pangkalan data: Pastikan pangkalan data boleh diakses oleh VBA. Pastikan pangkalan data sedang berjalan, rentetan sambungan adalah betul dan pengguna mempunyai kebenaran yang diperlukan untuk mengakses pangkalan data.
  2. Tambah katalog awal pada rentetan sambungan: Ubah suai rentetan sambungan untuk disertakan katalog awal, yang mewakili nama pangkalan data. Contohnya:
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
  1. Buka set rekod terus: Daripada menggunakan objek ADODB.Command, anda boleh terus membuka set rekod menggunakan pernyataan SQL. Berikut ialah coretan kod yang dikemas kini:
Const adCmdText As Long = 1
Dim strSQL As String

... // Other code above

' Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
strSQL = "select * from myTable"
objMyRecordset.Open strSQL            

... // Rest of the code below

Dengan membuat pelarasan ini, anda sepatutnya berjaya menyalin data daripada pangkalan data SQL ke Excel menggunakan VBA tanpa menghadapi ralat Run-time 3704.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Masa Jalan 3704 Apabila Mengakses Pangkalan Data SQL dalam Excel VBA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn