Перебрать строки Recordset и вставить, если true - PullRequest
0 голосов
/ 15 октября 2018

У меня есть набор записей rsDatabase, который является выводом запроса SELECT * FROM, поэтому я хочу взять этот набор записей и вставлять строки только тогда, когда значение в определенном столбце для этой строки равно true.

Так было бы что-то вроде этого:

xlRow = 1
Do While Not rsDatabase.EOF
   If rsDatabase(rsDatabaseCol).Value = "example" Then
   'Paste the row here
   xlRow = xlRow + 1
   End If
rsDatabase.MoveNext
Loop

Но я не могу понять, каков синтаксис для вставки только одной строки.

1 Ответ

0 голосов
/ 15 октября 2018

В соответствии с вашим комментарием я бы предложил использовать фильтр метод набора записей, а затем использовать CopyFromRecordSet .Цикл не требуется, если вы не хотите добавлять имена столбцов вверху таблицы.

For i = 0 To rsDatabase.Fields.Count - 1
     Range("A1").Offset(0, i) = rsDatabase.Fields(i).Name
Next i
rsDatbase.Filter = rsDatabaseCol & " = 'example'"
rsDatabase.Range("A2").CopyFromRecordset
...