powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос остался открытым!
7 сообщений из 7, страница 1 из 1
Вопрос остался открытым!
    #32207778
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как преобразовать данный код для отображения данных во встроенном в форму объекте Excel.sheet.8. Может есть другие более практичные варианты? Рад всем предложениям!!!

Dim rst As DAO.Recordset
Dim XL As New Excel.Application
Dim x As Integer
Set rst = CurrentDb.OpenRecordset("table1")

XL.Workbooks.Open "c:\1.xls"
XL.Worksheets(1).Select
XL.Visible = True
rst.MoveFirst
x = 5

While Not rst.EOF

XL.Range("A" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field1").Value
XL.Range("B" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field2").Value
XL.Range("C" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field3").Value
XL.Range("D" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field4").Value
XL.Range("E" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field5").Value
XL.Range("F" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field6").Value
XL.Range("G" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field7").Value
XL.Range("H" & CStr(x) & "").Select
XL.ActiveCell.Formula = rst.Fields("Field8").Value

x = x + 1
rst.MoveNext

Wend
...
Рейтинг: 0 / 0
Вопрос остался открытым!
    #32207842
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буквы A-H загнать в 8-мерный массив и брать из него, вместо rst.Fields("Field...").value писать
rst.Fields(i) и устроить цикл по i=1,8.
Будет немного короче.
...
Рейтинг: 0 / 0
Вопрос остался открытым!
    #32207854
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
While Not rst.EOF

XL.Range("A" & x).Value = rst.Fields("Field1").Value
XL.Range("B" & x).Value = rst.Fields("Field2").Value
XL.Range("C" & x).Value = rst.Fields("Field3").Value

x = x + 1
rst.MoveNext

Wend

А еще посмотри функцию CopyFromRecordset
...
Рейтинг: 0 / 0
Вопрос остался открытым!
    #32207859
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясни подробнее, пожлуйста...
...
Рейтинг: 0 / 0
Вопрос остался открытым!
    #32207862
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что прописать в блоке:

Dim rst As DAO.Recordset
Dim XL As New Excel.Application
Dim x As Integer
Set rst = CurrentDb.OpenRecordset("table1")

XL.Workbooks.Open "c:\1.xls"
XL.Worksheets(1).Select
XL.Visible = True
rst.MoveFirst
x = 5

?????
...
Рейтинг: 0 / 0
Вопрос остался открытым!
    #32207888
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имейте совесть!!! Не скупитесь на иформацию!!! Помогите, пожалуйста!!! :)
...
Рейтинг: 0 / 0
Вопрос остался открытым!
    #32207932
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
This example copies the field names from a DAO Recordset object into the first row of a worksheet and formats the names as bold. The example then copies the recordset onto the worksheet, beginning at cell A2.

For iCols = 0 to rs.Fields.Count - 1
ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
Next
ws.Range(ws.Cells(1, 1), _
ws.Cells(1, rs.Fields.Count)).Font.Bold = True
ws.Range("A2").CopyFromRecordset rs
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос остался открытым!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]