簡體   English   中英

Excel外部數據聯合查詢中的參數

[英]Parameters in Excel External Data Union Query

我有兩個查詢,可將數據從SQL Server提取到Excel。 兩者都工作得很好。 我試圖將它們合並在一起並傳遞一個參數作為日期,但現在沒有任何效果。 這是指向描述如何使用Microsoft Query以及傳遞參數的文章的鏈接。

http://dailydoseofexcel.com/archives/2004/12/13/parameters-in-excel-external-data-queries/

我要做的就是讓這個與聯合查詢一起工作。 那可能嗎? 或者,我是否需要VBA解決方案來實現此目的。 我確定它是可行的,只是我不知道該怎么做。 我將不勝感激任何建議。

謝謝!

感謝大家。 我最終在VBA中做到了。

Sub ImportFromDB()

' Create a connection object.
Dim cnPubs As ADODB.Connection
Set cnPubs = New ADODB.Connection

' Provide the connection string.
Dim strConn As String

'Use the SQL Server OLE DB Provider.
strConn = "PROVIDER=SQLOLEDB;"

'Connect to the Pubs database on the local server.
strConn = strConn & "DATA SOURCE=SERVER_NAME;INITIAL CATALOG=Data_Base;"

'Use an integrated login.
strConn = strConn & "Trusted_Connection=Yes;"

'Now open the connection.
cnPubs.Open strConn

' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset
Set sht = Worksheets("Impact Analysis")

    With sht
        .Range("N:U").ClearContents
        .Range("N1").Resize(1, 8).Value = Array("CONTACT_ID", "CATEGORY", "COMPANY_CODE", "CUSTOMER_NO", "SECTOR", "DES", "ASOFDATE", "BALANCE")
        Set rw = .Rows(2)
    End With

    With rsPubs
        ' Assign the Connection object.
        .ActiveConnection = cnPubs
        ' Extract the required records.
        .Open "SELECT * FROM MY_TABLE"

        ' Copy the records into cell A1 on Sheet1.
        Worksheets("Impact Analysis").Range("N2").CopyFromRecordset rsPubs

        ' Tidy up
        .Close
    End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM