2012-07-19 3 views
2

Windows XP 32 비트 시스템에서 Microsoft Excel 2003의 매크로를 만들었습니다. 새로 고침 버튼을 누르면 스프레드 시트가 채워집니다. 나는 사용자의 컴퓨터에이 프로그램을 실행할 때Excel 2003의 작업 코드가 Windows 7에서 런타임 오류가 발생합니다.

그러나 윈도우 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 

답변

3

SQL Server에 연결하는 것으로 추측됩니다. 연결 문자열을 난독 화하는 경우 문제를 제대로 식별하는 데 사용할 수있는 정보가 제거되었습니다. 그 문자열에 공급자가 없기 때문에 다른 PC에서 DSN을 사용하고있을 수도 있습니다. 연결 문자열에 대한 정보는 여기에서 확인할 수 있습니다. http://www.connectionstrings.com/

관련 문제