2013-10-28 32 views

回答

1
  1. 打開Excel,然後宏編輯器(按Alt + F11)
  2. 轉到工具>參考,並添加Microsoft ActiveX數據的最新安裝版本對象XX庫(在我的案件6.1)
  3. 添加新的子如下
Sub RunSQL(sConnectionString, sSqlQuery, sWorkSheet, nStartColumn, nStartRow) 

    Dim oConnection As New ADODB.Connection 
    Dim oRecordSet As New ADODB.Recordset 
    Dim sQuery As String 
    Dim intMaxCol As Integer 
    Dim intMaxRow As Integer 

    'Connection to SQL Server 
    Call oConnection.Open(sConnectionString) 

    ' Get Recordset 
    Call oRecordSet.Open(sSqlQuery, oConnection, adOpenStatic, adLockReadOnly) 

    ' Get SQL Query Column Count 
    intMaxCol = oRecordSet.Fields.Count 
    If oRecordSet.RecordCount > 0 Then 

     ' Get SQL Query Row Count 
     intMaxRow = oRecordSet.RecordCount 

     ' Paste data into sheet 
     Call Worksheets(sWorkSheet).Range(Worksheets(sWorkSheet).Cells(nStartRow, nStartColumn), Worksheets(sWorkSheet).Cells(intMaxRow + nStartRow, intMaxCol + nStartColumn)).CopyFromRecordset (oRecordSet) 

    End If 

    ' Close objects 
    oRecordSet.Close 
    oConnection.Close 
End Sub 
  • 調用此從您的代碼,更新所述參數如下:
  • Call RunSQL("Provider=SQLNCLI10;Server=[[SERVER]]\[[INSTANCE]];Database=[[DATABASE]];Trusted_Connection=Yes;", _ 
         "SELECT TOP 1 CAST(UniqueId AS VARCHAR(40)), Name FROM Employee WITH (NOLOCK)", _ 
         "Sheet1", _ 
         2, _ 
         3)

    萬一有幫助,我涉及以下職位得到這個從卷繞路線:

    相關問題