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

我已经在Windows XP 32位机器上的Microsoft Excel 2003中创build了下面的macros,当我按下刷新button时,我的电子表格就像它应该填充一样。

但是,当我在Windows 7机器的用户机器上运行这个,32位和64位我得到以下错误信息

“运行时错误'-2147467259(80004005)':[Microsoft] [ODBC Driver Manager]未find数据源名称未指定默认驱动程序”

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。 在模糊连接string时,您已经删除了可用于正确识别问题的任何信息。 我怀疑你可能在其他PC上使用DSN,因为你甚至没有提供该string的提供者。 你可以在这里获得有关连接string的信息: http : //www.connectionstrings.com/