excel - Excel 2003 中的工作代码在 Windows 7 中引发运行时错误

标签 excel vba windows-7 odbc adodb

我在 Windows XP 32 位计算机上的 Microsoft Excel 2003 中创建了下面的宏,当我按下刷新按钮时,我的电子表格会按预期填充。

但是,当我在 Windows 7 计算机(32 位和 64 位)上运行此程序时,我收到以下错误消息

“运行时错误‘-2147467259 (80004005)’: [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称,未指定默认驱动程序”

Private Sub CommandButton1_Click()
    Dim cmd As New ADODB.Command
    Dim conn As ADODB.Connection
    Dim prm As ADODB.Parameter
    Dim strConn As String
    Dim strSQL As String
    Dim Rst As ADODB.Recordset
    Dim WSP As Worksheet
    Dim lastRow As Long
    Dim ranges As range



 strConn = "Data Source=;Initial Catalog=;User Id=;Trusted_Connection=False;"
    Set conn = New ADODB.Connection
    Set WSP = Worksheets("KPI")

    lastRow = WSP.Cells.SpecialCells(xlCellTypeLastCell).Row
    Set ranges = WSP.range("A6", WSP.Cells(lastRow, "K"))
    ranges.Clear

    conn.Open strConn

    Set cmd = New ADODB.Command
    cmd.CommandText = "dbo.returns_kpi_data"
    cmd.CommandType = adCmdStoredProc
    cmd.ActiveConnection = conn

    cmd.Parameters.Refresh
    cmd.Parameters("@OrderDate1").Value = WSP.range("G3", "G3")
    cmd.Parameters("@OrderDate2").Value = WSP.range("I3", "I3")


    'Execute the Stored Procedure
    Set Rst = cmd.Execute

    range("A6").CopyFromRecordset Rst


    'Close the connection
    conn.Close
End Sub

最佳答案

我猜测您正在连接到 SQL Server。在混淆连接字符串时,您已删除了可用于正确识别问题的所有信息。我怀疑您可能在其他 PC 上使用 DSN,因为该字符串中甚至没有提供程序。您可以在此处获取有关连接字符串的信息:http://www.connectionstrings.com/

关于excel - Excel 2003 中的工作代码在 Windows 7 中引发运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556922/

相关文章:

VBA 编程。如何将数据从用户窗体传输到工作表的特定行和列?

excel - VBA:是什么导致传递给 ParamArray 的字符串参数更改为数字(看起来可疑地像指针)?

HTTPSresource 的 Excel VBA URLDownloadToFile 错误

windows-7 - Windows Phone 8 SDK 可以在 Windows 7 上运行吗?

windows-7 - win7下测试IE10

node.js - Gulp dest 在 Windows7 中不工作

excel - 如何根据文档中的值更新 SharePoint 内容类型属性?

java - Apache POI - 丢失单元策略

vba - XLS - 在 VBA 中复制和粘贴 - PasteSpecial 方法失败

ms-access - MS Access 表单字段中的拼写检查代码 - 接受更改时抛出错误