灾难性故障EXCEL VBA-错误'-2147418113(8000ffff)'

问题描述 投票:2回答:1

我正在努力寻找有关的信息

'运行时错误'-2147418113(8000ffff)'-灾难性故障'

我正在体验。

Sub GenerateAIA_Click()
Dim SQL_query, SQL_syntax, DB_path, setting_conn As String
Dim conn As New ADODB.Connection
Dim query_rslt As New ADODB.Recordset

Dim mth, mth_yr As Variant
Dim dt As Date
Dim i, bol As Integer
Dim temp1, temp2 As Variant

dt = Sheets("Main").Range("C4")
mth_yr = MonthName(Month(Sheets("Main").Range("I12")), False) & " " & Year(Sheets("Main").Range("I12"))

ThisWorkbook.Sheets("AIA").Select

DB_path = ThisWorkbook.FullName 'Refering the same workbook as Data Source
setting_conn = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DB_path & ";HDR=Yes';"
conn.Open setting_conn
SQL_syntax = "SELECT * FROM [Setup$]"   'Your SQL Statement (Table Name= Sheet Name=[Sheet1$])
query_rslt.Open SQL_syntax, conn

我也注意到此错误显示在行上

conn.Open setting_conn

我使用excel 2016以及我的文件格式.xlsm有人知道为什么会这样吗?

excel vba connection-string
1个回答
0
投票

似乎您的连接字符串有问题。这是我的工作方式:

(首先确保添加对Microsoft Active-X数据对象库的引用)

Sub test()
  Dim sConn As String
  Dim conn As New ADODB.Connection
  Dim rs As New ADODB.Recordset

  sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\PC\test.xlsm;Extended Properties=""Excel 12.0 Macro;HDR=NO"";"
  conn.ConnectionString = sConn
  conn.Open

  rs.Open "SELECT * FROM [Sheet1$]", conn

  MsgBox rs(0)

  rs.Close
  conn.Close

End Sub

因此,以我的示例为例,将文件名更改为XLSM文件,将工作表名称更改为工作表名称(在其末尾添加$

如果您的工作表中现在有标题名称,请使用HDR =是,否则,请使用HDR =否

© www.soinside.com 2019 - 2024. All rights reserved.