私は自分のコードでちょっとしたロードブロッキングをしています。配列のユニークな値をチェックして、出力csv(ループとアクセスvba)
私はアクセスクエリをループして、フィールド(この場合はUtilityDunsNumber)からすべての一意の値を見つけ出し、それらを配列に配置し、その中の各DunsNumberに対して別のクエリを実行する必要がありますその新しいクエリのすべてのレコードを含むCSVファイルを出力し、ループバックして各ダンサンバのファイルを作成します。
ここで私がこれまで持っているコードです:
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")
エラーと
注意「を配列に割り当てることができません」私はまだ少しですが、どのような援助がここ
何が質問ですか?このコードは何を生み出しますか、それともどこが失敗しますか? –
残念ですが、コンパイル時にエラーが「配列に割り当てられません」というエラーが表示された場合、コンパイル時に 'set records = db.OpenRecordset(" SELECT * FROM qry_RequestECI ")と表示されます。 – mattlore