Из-за проблем с DAO (см. мой предыдущий вопрос ) мне нужно создать набор записей Excel VBA из запроса Access и отфильтровать его результаты с помощью пользовательской функции.
Я думал, что мог бы использовать следующий код для достижения этой цели:
Sub test()
Dim db As Database
Dim rs As Recordset
Dim rs_clone As Recordset
Set db = OpenDatabase(dbPath)
Set rs = db.OpenRecordset("select testVal from dataTable")
Set rs_clone = rs.Clone
rs_clone.MoveLast
rs_clone.MoveFirst
while not rs_clone.eof
if myUDF(rs_clone!testVal) then
rs_clone.delete
end if
rs_clone.moveNext
wend
End Sub
Но это на самом деле удаляет значения из моей исходной таблицы, поэтому клон - это не новый набор записей, который я могу свободно изменять, а просто еще один указатель на исходный. Как я могу использовать свой UDF, чтобы отфильтровать ненужные записи, оставив исходные данные нетронутыми, если поместить UDF в сам запрос не вариант?