嘿傢伙我有點用我的代碼的障礙。檢查數組的唯一值和輸出csv(循環和訪問vba)
它的核心是:我需要循環訪問查詢,找到所有來自某個字段的唯一值(在這種情況下稱爲UtilityDunsNumber),將它們放入一個數組,然後對每個DunsNumber運行另一個查詢數組並輸出一個CSV文件,其中包含來自該新查詢的所有記錄,然後循環返回以爲每個dunsnumber創建一個文件。
下面的代碼我迄今:
Private Sub Command0_Click()
Dim db As DAO.Database
Dim records() As DAO.Recordset
Dim duns() As String
Dim i As Integer
Dim fs As String
fs = "C:\TestECI\IN_572_COMPANY_" & Format(Now(), "yyyymmdd") & "_814EN01_"
Set records = db.OpenRecordset("SELECT * FROM qry_RequestECI")
'loop through records, get list of unique DUNS numbers
'get unique duns
For Each Record In records
If IsInArray(Record.UtilityDunsNumber, duns) Then
continue
Else
ReDim Preserve duns(1 To UBound(duns) + 1) As String
' add value on the end of the array
arr(UBound(arr)) = Record.UtilityDunsNumber
End If
Next
For Each UtilityDunsNumber In duns
Set records = db.OpenRecordset("SELECT * FROM qry_RequestECI WHERE UtilityDunsNumber =" & dun)
i = 2000
fs = fs & i & ".csv"
DoCmd.TransferText acExportDelim, , records, fs, True
i = i + 1
Next
End Sub
,且目前沒有在這裏:Set records = db.OpenRecordset("SELECT * FROM qry_RequestECI")
出現錯誤「無法指定數組」
說明我還是有點的用VBA初學者,所以任何幫助,將不勝感激
什麼問題?這段代碼產生了什麼,或者它在哪裏失敗? –
抱歉,我的錯誤,編譯它停在'Set records = db.OpenRecordset(「SELECT * FROM qry_RequestECI」)'錯誤「不能分配給數組」 – mattlore