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


Автор: IgorPR 9.9.2008, 13:46
При открытом отчете, этот код передает данные в excel. Но проблема, что в отчете могут использоваться к примеру 2 поля из 5, а в excel отображаются все 5. Как избавиться от лишнего?


Public Sub PerVExl()
Dim rs As Recordset
Dim Exl As Excel.Application
Dim ExlWork As Excel.Workbook
Dim ExlList As Excel.Worksheet
Dim vColNum, vRowNum As Long
Dim vTypeSql As Integer

Set rs = CurrentDb.OpenRecordset(Application.Reports.Item(0).RecordSource)


Set Exl = CreateObject("Excel.Application")
Set ExlWork = Exl.Workbooks.Add
Set ExlList = ExlWork.Worksheets.Item(1)
ExlList.Name = "Данные"

For vColNum = 0 To rs.Fields.count - 1
ExlList.Cells(1, vColNum + 1).Value = rs.Fields(vColNum).Name
Next vColNum

ExlList.Range("A2").CopyFromRecordset rs

Exl.Visible = True
Set ExlList = Nothing
Set ExlWork = Nothing
Set Exl = Nothing
End Sub

Помогите пожалуйста, не знаю что делать

Автор: bopoha 9.9.2008, 13:53
Запись макросов в Excel предлагает слудующие варианты:
Код

    '-- вырванивание ширины колонки
    Columns("A:A").EntireColumn.AutoFit
    '-- выравнивание высоты строки
    Rows("1:1").EntireRow.AutoFit

Автор: bopoha 9.9.2008, 14:21
IgorPR, зачем две одинаковые темы? Я уже думал, что меня глючит.

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