Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166

Экспорт из Аксесс в Ексель тблЗапроса. с фильтром

05.04.2017, 19:16. Показов 2104. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые гуру Аксесс!
Простая форма. Есть кнопка "Мои проекты".
- При нажатии открывается другая форма с его проектами (ТаблицаЗапрос).
- Вот эти проекты пытаюсь отправить кнопкой "Экспорт в Excel" в Ексель...
Проблема: Не получается экспортировать именно 30 записей менеджера. Экспортируется все записи....
Помогите с фильтром, или подход к реализации экспорта подскажете другой(может не так надо было делать)?.
Пока писал, пришла мысль о временной таблице. Записать результат во временную таблицу и эту временную тблТЕМР экспортировать в ексель. Что скажете?.
Желательно макросом отправлять. Из макроса корректнее отправляется вместе с заголовками таблицы...Хотя можно сделать шаблон Екселя...
Если в запросе на поле FIO ставлю =Like "Иванов А" =, то все прекрасно экспортируется. Но так низзя делать. Менеджеры новые могут появится....Помогите если можете по картинке...
Картинки прилагаю. Почему-то не смог конвертнуть БД в .mdb. Прошу не ругать. БД есть в другой теме... Но там нет новой формы.
Миниатюры
Экспорт из Аксесс в Ексель тблЗапроса. с фильтром   Экспорт из Аксесс в Ексель тблЗапроса. с фильтром   Экспорт из Аксесс в Ексель тблЗапроса. с фильтром  

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2017, 19:16
Ответы с готовыми решениями:

Экспорт данных в Ексель
Уважаемые спецы или просто продвинутые пользователи БД. Возможно ли из БД организовать заполнение данных в листах Екселя с привязкой к дате...

Экспорт запросов в ексель в разные листы
Честной народ, подскажите 1. как в 2010 аксе экспортировать несколько разных запросов в один файл ексель но на разные листы? 2. как...

Экспорт таблицы в ексель
написал вот такой код для экспорта таблицы в ексель try { JFileChooser fileChooser = new JFileChooser(); int...

10
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
05.04.2017, 19:36  [ТС]
Неужели еще и в самом Запросе делать фильтр?
Миниатюры
Экспорт из Аксесс в Ексель тблЗапроса. с фильтром  
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.04.2017, 19:45
Назначьте передаваемым в Excel рекордсетом рекордсет отфильтрованной на 30 записей формы. Он будет содержать только отфильтрованные записи

Видимо у Вас еще подформа.
Visual Basic
1
set rst=Forms![Имяотфильтрованнойформы].[Имяподформы].Form.Recordset
1
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
05.04.2017, 21:02  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Видимо у Вас еще подформа.
Вроде не подформа. А просто отдельная форма, не знаю...

я так понимаю мне надо вот сюда вписать Ваш код?
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'Private Sub Êíîïêà14_Click()
' Dim xlApp As Object
' Dim xlWb As Object
' Dim xlWs As Object
'Dim sFileName As String
' Dim rst As Recordset
 
[B]set rst=Forms![Имяотфильтрованнойформы].[Имяподформы].Form.Recordset[/B]
' sFileName = CurrentProject.Path & "" & "ttt.xlsx"
   
' Set xlApp = CreateObject("excel.application")
' Set xlWb = xlApp.Workbooks.Open(sFileName)
' Set xlWs = xlWb.Worksheets(1)
 
' Set rst = CurrentDb.OpenRecordset("ÁàçàAll_Çàïðîñ", dbOpenDynaset)
'    DoCmd.ApplyFilter , "tblEmployee.ID = ÁàçàAll_Çàïðîñ.Fixed_mgr"
'    xlApp.Visible = True
'    xlWs.Range("A1").CopyFromRecordset rst
 
' sFileName = CurrentProject.Path & "" & "name.xls"
 'xlWs.SaveAs sFileName
'End Sub
Миниатюры
Экспорт из Аксесс в Ексель тблЗапроса. с фильтром   Экспорт из Аксесс в Ексель тблЗапроса. с фильтром  
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.04.2017, 21:35
Цитата Сообщение от Scrat2005 Посмотреть сообщение
Вроде не подформа. А просто отдельная форма, не знаю...
Из второго рисунка (среднего) в первом сообщении видно, что есть подформа на основе запроса БазаAll_Запрос. Как называется главная форма на рисунке не видно. Предположим AllBase. А чтобы узнать имя подформы, надо открыть форму в конструкторе, стукнуть мышом на подформе и в свойствах=>вкладка Другие=>Имя посмотреть имя контрола подформы.

В коде вместо открытия рекордсета по запросу написать
Visual Basic
1
2
'Set rst = CurrentDb.OpenRecordset("ГЃГ*Г§Г*All_Г‡Г*ïðîñ", dbOpenDynaset) 'Закомментить или удалить
Set rst = Forms!AllBase![имя контрола подформы].Form.Recordset
1
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
06.04.2017, 07:51  [ТС]
Добрый день!
Миниатюры
Экспорт из Аксесс в Ексель тблЗапроса. с фильтром  
0
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
06.04.2017, 19:12  [ТС]
Добрый вечер уважаемые форумчане!!!

Mobile, Спасибо за код. Получилось. НО!!! Записывается в Ексель с 1-й строки и затирает заголовок файла шаблона.
и еще вставляет ключевые скрытые столбцы. На форме я их скрыл...их не видно. Картинку прилагаю...
Вот код:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Êíîïêà14_Click()
 Dim xlApp As Object
 Dim xlWb As Object
 Dim xlWs As Object
 Dim sFileName As String
 Dim rst As Recordset
 
 sFileName = CurrentProject.Path & "" & "MyProject.xls"
   
 Set xlApp = CreateObject("excel.application")
 Set xlWb = xlApp.Workbooks.Open(sFileName)
 Set xlWs = xlWb.Worksheets(1)
 Set rst = Forms!AllBase![БазаAll_Запрос].Form.Recordset
 '   DoCmd.ApplyFilter , "tblEmployee.ID = БазаAll_Запрос.Fixed_mgr"
    xlApp.Visible = True
    xlWs.Range("A1").CopyFromRecordset rst
 
 sFileName = CurrentProject.Path & "" & "Ìîè ïðîåêòû.xls"
xlWs.SaveAs sFileName
End Sub
Миниатюры
Экспорт из Аксесс в Ексель тблЗапроса. с фильтром  
0
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
06.04.2017, 19:16  [ТС]
аааа, все понял...блин надо с "А2" начинать)))) ща проверю.
"xlWs.Range("A1").CopyFromRecordset rst"

Добавлено через 2 минуты
УРА!!! ПОЛУЧИЛОСЬ! Но эти 2 столбца всю картину маслом, портят. Дайте подсказку плиз....

Добавлено через 1 минуту
мало того что появляются, так они еще и столбцы сместили.....блин.
0
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
06.04.2017, 19:52  [ТС]
Рано обрадовался. При экспорте он захватыает записи последнего ID....Не знаю почему. Должон был № 6 только экспортнуть,
так он еще и №7 захватил...
Миниатюры
Экспорт из Аксесс в Ексель тблЗапроса. с фильтром  
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
06.04.2017, 20:43
Цитата Сообщение от Scrat2005 Посмотреть сообщение
Но эти 2 столбца всю картину маслом, портят.
Ну давайте создадим свободный рекордсет только с нужными полями и в него кинем все записи из рекордсета формы. Имена полей не знаю, возьму со скрина екселевского
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'Только проблемный кусок
 Set rst = Forms!AllBase![БазаAll_Запрос].Form.Recordset
 '   DoCmd.ApplyFilter , "tblEmployee.ID = БазаAll_Запрос.Fixed_mgr"
    xlApp.Visible = True
 
    Dim r As Object
    Set r = CreateObject("adodb.recordset")
    r.Fields.Append "Status_Zkz", 200, 255
    r.Fields.Append "Status_Pr", 200, 255
    r.Fields.Append "Status_Str", 200, 255
    r.Open
    Do Until rst.EOF
        r.AddNew
        r!Status_Zkz= rst!Status_Zkz
        r!Status_Pr = rst!Status_Pr
        r!Status_Str= rst!Status_Str
        rst.MoveNext
    Loop
    r.UpdateBatch
    xlWs.Range("A2").CopyFromRecordset r
Цитата Сообщение от Scrat2005 Посмотреть сообщение
Должон был № 6 только экспортнуть,
так он еще и №7 захватил...
Этого я не знаю. Проверяйте фильтры
1
2 / 2 / 1
Регистрация: 04.01.2017
Сообщений: 166
06.04.2017, 21:10  [ТС]
mobile, Спасибо! Где-то здесь видел я такой код с перечислением полей...
Буду смореть фильтр...Хотя нет там никакого фильтра, акромя -
-Основные поля - id -tblEmployee( список сотрудников)
-Подчиненные поля - fixed_mgr -код сотрудника в тблБаза (где и лежит вся инфа)
в самом запросе эти 2 таблицы связанные "один-ко-многим"...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2017, 21:10
Помогаю со студенческими работами здесь

Экспорт драйверов с фильтром
Как, используя Export-WindowsDriver, фильтровать экспортируемые драйвера по свойствам ClassName, ProviderName и т.д? Или нужно использовать...

Экспорт из аксесс в 1C 7.7 средствами Delphi
Здравствуйте! Прошу прощения если не там пишу Но все же. У меня есть БД она в Аксесс'е и 1С v7.7 скажите как из аксесса средаствами Delphi...

Из DBGrid не выводит числа (экспорт в Ексель)
dbgrid1.DataSource.DataSet.First; Ex:=CreateOleObject('Excel.Application'); ...

Экспорт Canvas в BMP: На выходе только черный фон. + Экспорт невидимых Canvas'ов
Здравствуйте! Есть Canvas (WPF), заполняемый в процессе работы программы (в том числе изменяется и размер). Стоит задача экспортировать...

ексель
Здравствуйте! Подскажите,как в екселе написать формулу e в степени минус икс в квадрате


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru