嘿家伙我有点用我的代码的障碍。检查数组的唯一值和输出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