Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/27: Рейтинг темы: голосов - 27, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 16.09.2010
Сообщений: 15

Создание листа в рабочей книге Excel

20.09.2010, 18:40. Показов 5943. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне надо экспортировать данные из запроса в один экселевский файл, причём каждую запись на новый лист. Как это сделать?

В начале CreateObject('Excel.Workbook') а потом CreateObject('Excel.Sheet')?

Напишите фрагмент кода, где создаётся рабочая книга, а в ней новый лист. С какими именами он будет создавать рабочие листы? Можно ли их задавать? Или только в русную в готовом файле править?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2010, 18:40
Ответы с готовыми решениями:

Создание рабочей группы
Подскажите пожалуйста где в access 2010 находится Администратор рабочих групп и есть ли он вобще?

Как сохранить запрос в Книге Excel?
Понимаю, что результаты запроса без проблем сохраняются в формате Excel, но как сохранить их в уже существующей книге, да на указанном...

Множественный поиск значений из Access в книге Excel
Есть файл Excel с данными сгруппированными по строкам. Необходим поиск ячеек в этом файле по двум значениям, которые берутся с формы...

26
1 / 1 / 1
Регистрация: 02.04.2009
Сообщений: 135
23.09.2010, 17:18
Пример кода, где все это делается(чеез раннее связывание)
Visual Basic
1
2
3
4
5
6
7
8
Dim pApp As Excel.Application
Dim pBook As Excel.Workbook
Dim pSheet As Excel.Worksheet
    Set pApp = New Excel.Application
    pApp.Visible = True
    Set pBook = pApp.Workbooks.Add
    Set pSheet = pBook.Worksheets.Add
    pSheet.Name = 'aaa'
0
0 / 0 / 0
Регистрация: 16.09.2010
Сообщений: 15
24.09.2010, 10:43  [ТС]
Спасиб!
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
25.09.2010, 23:27
Ребята, если можно, уделите внимание.
Как написанное Вами использовать к запросу?
Есть запрос, который надо представить в виде таблицы XLS, как все это сделать.
Пож. подробнее.

Благодарю.
0
0 / 0 / 0
Регистрация: 16.09.2010
Сообщений: 15
26.09.2010, 10:52  [ТС]
А запрос с параметрами или без?
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
26.09.2010, 15:40
Я не знаю, что значит с параметрами или без.
Пож. объясните.
0
1 / 1 / 1
Регистрация: 02.04.2009
Сообщений: 135
26.09.2010, 16:28
Например используя следующую функцию
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Sub Query2Excel(ByVal sSQL As String, _
                        ByVal sFileName As String)
Dim lRs As DAO.Recordset
Dim pApp As Excel.Application
Dim pBook As Excel.Workbook
Dim pSheet As Excel.Worksheet
Dim iRows As Long
Dim iCols As Long
    Set pApp = New Excel.Application
    pApp.Visible = True
    Set pBook = pApp.Workbooks.Add
    Set pSheet = pBook.Worksheets(1)
    Set lRs = CurrentDb.OpenRecordset(sSQL)
    lRs.MoveLast
    lRs.MoveFirst
    For iCols = 0 To lRs.Fields.Count - 1
        pSheet.Range(Chr$(65 + iCols) & '1').Value = lRs.Fields(iCols).Name
    Next iCols
    For iRows = 1 To lRs.RecordCount
        For iCols = 0 To lRs.Fields.Count - 1
            pSheet.Range(Chr$(65 + iCols) & CStr(iRows + 1)).Value = lRs(iCols).Value
        Next iCols
        lRs.MoveNext
    Next iRows
    pBook.SaveAs sFileName
    pApp.Quit
    Set pSheet = Nothing
    Set pBook = Nothing
    Set pApp = Nothing
    lRs.Close
    Set lRs = Nothing
End Sub
Соответственно вызов функции будет
Visual Basic
1
    Query2Excel 'SELECT nazv, rejis, anons FROM Films', 'c:15.xls'
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
26.09.2010, 21:05
Очень благодаренн Вам за ответ.

1. Если у меня есть, например, запрос 'Запрос1' всего с двумя полями.
Поле 'Фамилия' и 'НаселенныйПункт'. И я хочу данные этого запроса разместить в книге Excel, Мне приведенную вами функцию где разместить?
И как запустить на выполнение -

( Query2Excel 'SELECT nazv, rejis, anons FROM Films', 'c:15.xls )

Будьте добры объясните для начинающего.
Благодарю Вас.
0
0 / 0 / 0
Регистрация: 16.09.2010
Сообщений: 15
27.09.2010, 09:39  [ТС]
Cоздай модуль и в его теле напиши функцию. Потом создай форму, и кнопку на ней и в Sub Кнопка1_Click() вызови эту функцию с нужными тебе паратемрами.
0
1 / 1 / 1
Регистрация: 02.04.2009
Сообщений: 135
27.09.2010, 11:35
И вызов функции будет такой
Code
1
Query2Excel 'SELECT [Фамилия], [НаселенныйПункт] FROM [Запрос1]', 'c:15.xls'
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
27.09.2010, 18:36
1.
>>Cоздай модуль и в его теле напиши функцию. Потом создай форму, и >>кнопку на ней и в Sub Кнопка1_Click() вызови эту функцию с нужными >>тебе паратемрами.

Что такое 'в Sub Кнопка1_Click()' и какие могут быть параметры?
Пож. как написать первую строку модуля, после которой помещать функцию и в этой функции все оставить без изменения или что-то изменять?
2.
>>И вызов функции будет такой
>>Query2Excel 'SELECT [Фамилия], [НаселенныйПункт] FROM
>>[Запрос1]', 'c:15.xls'
Откуда осуществлять вызов функции с запроса в режиме конструктора?
Или иначе как-то?
Простите...
Очень благодарен.
0
0 / 0 / 0
Регистрация: 16.09.2010
Сообщений: 15
28.09.2010, 12:35  [ТС]
С начала создай модуль и напиши в нём код функции, который дал siatl.
Затем Создай форму, открой режим конструктора, создай кнопку и сразу нажми отмена (т.е. не выберай действия из списка, который будут происходить при нажатии кнопки). кликну на кнопке правой кнопкой и нажми 'обработка событий...' откроется окно VB и курсор у тебя будет находиться между строчками

Sub Кнопка1_Click()

End Sub

Как раз туда вставь строку вызова функии. Сохрани и окрой форму. Теперь при нажитии кнопки у тебя данные из запроса перенесутся в файл С: 15.xls или как там он назывался.

Вроде всё, теперь разобрался?
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
28.09.2010, 13:38
Zrumchik << FFFF

Теперь все понятно, я Вам очень признателен за мучения со мной.
Все прописал как сказано Вами.
При попытке выполнить транспортировку в XLS выдает ошибку в функции модуля
«Compilite error, User-Defined type not defined»
и становится на строку функции, в модуле, «Dim lRs As DAO.Recordset»

В функции «siatl» ничего не надо прописывать своего?

Почему не хочет работать?
0
1 / 1 / 1
Регистрация: 02.04.2009
Сообщений: 135
28.09.2010, 14:00
Надо еще войти в Tools->References(это пункты меню)
и подключить библиотеки соответствующих версий:
-Microsoft DAO
-Microsoft Excel
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
28.09.2010, 14:54
Не могу добавить библиотеки
-Microsoft DAO
-Microsoft Excel

У меня меню руссифицировано, не могу найти Tools->References.
У меня А2000.
0
1 / 1 / 1
Регистрация: 02.04.2009
Сообщений: 135
28.09.2010, 15:13
Меню Tools->references необходимо вызывать из редактора VBA.
(т.е. войти в модуль где вы писали функцию Query2Excel)
Названия библиотек в случае Office 2000:
-Microsoft DAO 3.51 Object Library
-Microsoft Excel 9.0 Object Library
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
28.09.2010, 15:39
Ну если ПЕРЕВОДЧИК не помогает, то ПРИ ОТКРЫТОМ ПРОГРАММНОМ КОДЕ:
Сервис->Cсылки...
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
28.09.2010, 18:00
Ребята, всех благодарю.
Я действительно искал не в VBA, искал в рабочей среде А2000.
Нашел все и подключил.
Борис , я уже второй раз попадаюсь на этом, там даже не по русски!

Поддели по делу!!
Успехов всем!
Храни Вас Господи
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
28.09.2010, 23:04
Ребята! Думал все ОК, а оно нет.
Открывает пустую страницу XLS и пишет, что
Слишком мало параметров. Требуется 1.
Хотя у меня их 2.

См. ниже.
Private Sub Кнопка7_Click()
Query2Excel 'SELECT [Klient], [SITY] FROM [Эксперим]', 'c:15.xls'
End Sub

В функции останавливается на:
Set lRs = CurrentDb.OpenRecordset(sSQL)

Может еще какую библиотеку надо?

Еще, подключил Microsoft DAO 3.50 Object Library - у меня Microsoft DAO 3.51 Object Library - нет ни дома , ни на работе, иожет из-за этого?
0
0 / 0 / 0
Регистрация: 16.09.2010
Сообщений: 15
29.09.2010, 00:12  [ТС]
пред это строчкой вставь

dim db as dao.database
set db= currentdb

и в своей сроке currentdb замени на db. такое часто бывает.
и подклю библиотеку microsoft jet или просто JET чего-то там
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2010, 00:12
Помогаю со студенческими работами здесь

Печать листа Excel
Добрый день. Что-то не нашел на форуме. Как подать команду на печать листа Excel с Access?

Работа с Excel. Создание листа в книге по шаблону
Доброго времени суток. Прошу помочь с вопросом: Есть некоторая книга Ecxel из 2-х листов (а и b) с определенным форматированием....

Из Excel в DBGrid. Подключиться к рабочей книге MS Excel, как к базе данных.
Доброго времени суток! У меня возникли проблемы при выводе таблицы с Excel на DBGrid, а именно: после запроса вывести весь лист в DBGrid...

При создании нового листа произвести проверку на существование вводимого имени листа в текущей книге EXCEL
При создании нового листа, произвести проверку на существование вводимого имени листа в текущей книге EXCEL и если такой лист существует то...

Печать данных в документ Word, находясь в рабочей книге Excel
Как напечатать в конкретный документ Word данные, находясь в открытой книге Excel? Печать производится в таблицу. Например: Чек ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru