Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Отфильтрованный рекордсет в excel


Автор: Farkhod 26.7.2004, 09:18
Данные из рекордсета надо кинуть в эксель. Использую CopyFromRecordset
Это работает. Но как кинуть в эксель отфильтрованный рекордсет ? Пробую:

xcl.Range("A2").CopyFromRecordset rs.Filter = ...мой фильтр


Можно кидать то что в гриде построчно, но это занимает слишком много времени кидать каждую строку отдельно...

Автор: Naghual 26.7.2004, 09:52
А приведи как, мил человек, код, которым щас пытаешся это делать

Автор: Farkhod 26.7.2004, 11:18
Sub sendtoexcel()
On Error GoTo erh
Dim i As Integer
Dim xcl As Excel.Application
Set xcl = New Excel.Application
xcl.Workbooks.Add
For i = 0 To rs.Fields.Count - 1
xcl.Cells(1, i + 1) = gr.Columns(i).Caption
xcl.Cells(1, i + 1).Select
xcl.Selection.Font.Bold = True
Next
xcl.Range("A2").CopyFromRecordset rs
xcl.Visible = True
Exit Sub
erh:
MsgBox Err.Description, vbCritical, "ExRep v1.0"
End Sub

Автор: Naghual 26.7.2004, 12:04
Так это...
Перед этой строчкой
xcl.Range("A2").CopyFromRecordset rs
создай rs2 который фильтрует из rs и используй его как параметр.

Автор: Farkhod 26.7.2004, 12:56
когда rs2 присваиваю фильтр на rs, ругается: Filter cannot be opened

Автор: Naghual 26.7.2004, 15:02
ОК.
А как сам RS получаеш? Делай его изначально отфильтрованым!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)