Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/14: Рейтинг темы: голосов - 14, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.10.2024
Сообщений: 9

Выборка и перенос данных из Access в Excel

01.10.2024, 16:34. Показов 4204. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Прошу помощи, сильно тапками не закидывайте только)
Знаю есть такие темы, два дня пытаюсь вставить коды которые гуляют в сети для переноса нужных данных в ексель, но что-то все не выходит.
Суть следующая имеется база аксесс помогающая оформить документ (приемо-сдаточный акт), то есть есть база, автозаполнение клиентов если повторно приходят, печать документа по госту и т.д. В таблицу1 записываются данные клиентов для последующего автозаполнения в таблицу2 падают данные нужные для выгрузки
Появилась необходимость делать выгрузку данных в подготовленный файл ексель(расчерченный, нужная шапка).
Требуется перенос данных из таблицы2 по типу :код, фио,паспорт,вес который сдал и т.д в файл ексель.
Перед выполнением функции переноса указывать период выгрузки данных (день ,месяц,год). И отбор по наименованию, чтобы был выбор Выгрузить в ексель данные по черному лому(выбрав с наименования в таблице2 черный лом и нержавеющую сталь) или выгрузить цветной лом выбрав все остальные номенклатуры..
Сделав кнопку выгрузки в Отчете данные выгружаются в новый файл и имеют вид Таблицы1, что не подходит.Буду рад любым советам,сам с минимальными знаниями не осиливаю)
Вложения
Тип файла: zip чермет журнал 2022.zip (4.84 Мб, 55 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2024, 16:34
Ответы с готовыми решениями:

Перенос данных из Access в Excel
Добрый вечер. столкнулся с проблемой, нужно перенести данные из accsse в excel. Option Compare Database Sub Test() Dim...

Перенос данных из Excel в Access
Здравствуйте ! Очень прошу спуститься до нулевого уровня VBA и подсказать, как нажав на кнопку в 1.xlsm перенести данные из ячеек,...

Перенос данных из Excel в Access
Здравствуйте, уважаемые форумчане! Я новичок во всем этом, но как понимаю именно MS Access и предназначено для моих целей. От вас же,...

48
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,961
Записей в блоге: 4
29.10.2024, 14:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от amd48 Посмотреть сообщение
Если в эксель надо вывести красивый отформативарованный отчёт, у которого кроме таблицы есть ещё всякие красивости до и после неё
самая большая проблема при создании красивого отчета в ексель, это таблицы
как минимум это УТВЕРЖДАЮ, ОСНОВНЫЕ ТАБЛИЦЫ, ПОДПИСИ с разным количеством столбцов и разной их шириной
- колонтитулы, часто разные для первой и следующих страниц
- как образец - отчеты Консультант -Плюс - сотня узеньких столбцов
- сплошные объединения ячеек, а значит нет автоподбора высоты - вручную это хоть и хлопотно, но решаемо

поэтому, если отчет не супердлинный - предпочтительно применять WORD, где со всем этим нет проблем
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
29.10.2024, 14:46
Цитата Сообщение от shanemac51 Посмотреть сообщение
отчеты Консультант -Плюс
Это лютое зло, которое не стоит упоминать всуе
Если этот отчёт постоянный и есть возможность назначить в нём всё те же именованные ячейки и больше их не трогать, то их можно заполнять и кодом.
1
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
29.10.2024, 17:41
Цитата Сообщение от amd48 Посмотреть сообщение
xl.Calculation = XlCalculation.xlCalculationManual  'константа с кодом -4135
так-то эта строка тоже неправильная. должно быть
Visual Basic
1
xl.Calculation = xl.XlCalculation.xlCalculationManual
или как написано в комментарии константа числовая, либо именованная

Добавлено через 1 минуту
иначе поднимается ещё один экземпляр Excel и остаётся "висеть" в памяти...
1
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,617
29.10.2024, 20:52
Цитата Сообщение от ilya841 Посмотреть сообщение
Появилась необходимость делать выгрузку данных в подготовленный файл ексель(расчерченный, нужная шапка).
Родился вот такой простенький вариант:
Кликните здесь для просмотра всего текста
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
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub ExportTest()
' Экспорт некоторых данных из таблицы "Таблица2" в "шаблон" = "чермет журнал 2022.xlsx"
' Внимание !!! = Считается что шаблон лежит в папке тек. приложения (базы данных) !!!
'--------------------------------------------------------------------------------------//
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Dim rst As DAO.Recordset
Dim sVal$
On Error GoTo ExportTest_Err
 
    Set oExcel = CreateObject("Excel.Application")
    ' Считается что шаблон лежит в папке тек. приложения (базы данных) !!!
    Set oBook = oExcel.Workbooks.Add(CurrentProject.Path & "\чермет журнал 2022.xlsx")
    Set oSheet = oBook.Worksheets(1)
 
    sVal = "SELECT Код, дата, наименование, " & _
        "'Из какого поля брать?' AS Местоположение, '???' AS [Реквизиты ТН]" & vbCrLf & _
        "FROM Таблица2;"
        
    Set rst = CurrentDb.OpenRecordset(sVal, dbOpenSnapshot)
    oExcel.Cells(3, 1).CopyFromRecordset rst ' вставка ... в ячейку "A3"
    ' С форматированием пока не заморачиваемся ...
 
' Окно Excel = Видим-м-м-мым!
    oExcel.Visible = True
    oExcel.WindowState = 3 'во весь экран
   
 
ExportTest_End:
    On Error Resume Next
    rst.Close:    Set rst = Nothing
    Set oSheet = Nothing
    Set oBook = Nothing
    Set oExcel = Nothing
    Err.Clear
    Exit Sub
 
ExportTest_Err:
    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in Sub ExportTest.", _
        vbCritical, "Произошла ошибка!"
    Debug.Print "ExportTest_Line: " & Erl & "."
    Err.Clear
    Resume ExportTest_End
End Sub
1
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,617
29.10.2024, 20:56
ilya841, нашелся еще такой пример: "Экспорт данных в шаблон по данным Формы "
Миниатюры
Выборка и перенос данных из Access в Excel   Выборка и перенос данных из Access в Excel  
Вложения
Тип файла: zip s0000432.zip (40.2 Кб, 17 просмотров)
1
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
30.10.2024, 20:08
Цитата Сообщение от amd48 Посмотреть сообщение
А ещё хорошим тоном будет сделать в экселе вручную шаблон отчёта со всеми его красивостями...
Согласен с Вами. Я именно так свои проблемы и решил. Сделал шаблон Накладной и использую его.
ilya841, А не могли бы вы полностью заполнить свою Форму теми данными, которые надо перекинуть в Excel? И, соответственно, в Excel-евском файле заполнить, что где должно быть. А то шапка есть, а вот что, куда - пусто.
P.S. Я, когда что-то хочу перекинуть в Excel, то сначала отбираю (объединяю, если надо из разных таблиц) необходимые данные, для наглядности так сказать, для проверки, а потом уж их передаю. А вы хотите чтобы кто-то разобрался в ваших таблицах, вычленил что Вам необходимо....
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,961
Записей в блоге: 4
30.10.2024, 21:03
Цитата Сообщение от matva Посмотреть сообщение
ilya841, А не могли бы вы полностью заполнить свою Форму теми данными, которые надо перекинуть в Excel? И, соответственно, в Excel-евском файле заполнить, что где должно быть
вряд ли у вас отчет в форме простого списка, раз он красивый
наверняка есть
- блок УТВЕРЖДАЮ из 2 столбцов(справа)
- вступительная часть отчета(название и предисловие) - обычно 1 столбец с выравниванием по центру
- основная таблица из 5-15 столбцов, причем в шапке или в данных есть объединенные ячейки
- возможно и промежуточный итоги
- иногда и эпилог из 1 столбца
- и конечно подписи(4-7 столбцов)

реализовать все это в ексель - достаточно сложно, особенно, если некоторые ячейки в таблицах имеют длинный текст(требуется перенос слов и желательно автоподбор высоты)
иногда и достаточно короткий(например ФИО), если в таблице более 10 столбцов
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
31.10.2024, 02:34
Цитата Сообщение от shanemac51 Посмотреть сообщение
реализовать все это в ексель - достаточно сложно
Это в Word всё реализовать сложно, а если точнее - невозможно. Там даже в одной ячейке таблицы данные теряются.
В Эксель есть инструмент записи макроса, там для ребёнка создаётся код, который этот ребёнок хочет. Просто при переносе в Акцесс нужно учитывать моменты, которые упомянул Панург.
Word в данном случае - дауншифтинг.
0
920 / 293 / 58
Регистрация: 01.06.2023
Сообщений: 819
31.10.2024, 08:27
Word в данном случае - дауншифтинг.
В корне не согласен. Если использовать генератор отчетов, то формирование документов (правда в формате RTF) сильно упрощается, а затраченное время на создание отчета несравнимо меньше чем писать его на макросах.

- блок УТВЕРЖДАЮ из 2 столбцов(справа)
> Полная свобода на уровне формирования шаблона
- вступительная часть отчета(название и предисловие) - обычно 1 столбец с выравниванием по центру
> Полная свобода на уровне формирования шаблона + поля с данными из БД
- основная таблица из 5-15 столбцов, причем в шапке или в данных есть объединенные ячейки
> Есть ограничение на, то что нельзя "наращивать" таблицу в ширину и нельзя объединять ячейки по вертикали
- возможно и промежуточный итоги
> Штатно не видел промежуточных итогов в ворде, с помощью генератора можно сформировать вложенные части, так что в целом реализуемо
- иногда и эпилог из 1 столбца
> Полная свобода на уровне формирования шаблона, если число столбцов эпилога фиксировано, сам текст настроить не сложно
- и конечно подписи(4-7 столбцов)
> Полная свобода на уровне формирования шаблона

При этом не нужны особые знания по макросам, все решается шаблоном в формате RTF. В простейшем случае даже не нужны познания в SQL, если подходящие наборы данных уже есть в виде форм/подчиненных форм/сохраненных запросов.

Если будет кому то интересно, то могу попробовать подобный подход применить и для формирования отчетов в формате Excel (правда без вложенных подзапросов).
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
31.10.2024, 09:56
Цитата Сообщение от Swa111 Посмотреть сообщение
правда в формате RTF
Пишу исключительно про стандарт Doc и Docx. С ними пробовал в своё время все варианты, а так можно и htm запихать в Вёрд, да что там говорить, у меня как-то в винамп док запихали
0
920 / 293 / 58
Регистрация: 01.06.2023
Сообщений: 819
31.10.2024, 10:05
RTF хорошо совместим с современными форматами.

а так можно и htm запихать в Вёрд
Опять же сначала придется кодом формировать шаблон. В моем же случае шаблон готовится с помощью редактора word с помощью него же просматривается сформированный документ.
0
0 / 0 / 0
Регистрация: 01.10.2024
Сообщений: 9
01.11.2024, 09:35  [ТС]
Прикладываю образец заполнения файла ексель.
Смысл в чем, есть база аксесс. Сотрудники заполняют данные в основной форме(таблица2) и после записывания данных оттуда нужно заполнить ексель. В таблице1 хранится список контрагентов для автозаполения.

Соответствие данных:
Ексель №Приемосдаточного акта = Код в аксесс
Дата приема - дата
Наименование - контрагент
Местоположение - физрек
Виды лома и отходов черного металла - Наименование1 ,наименования2 и т.д
Вес принимаемого металла - вес нетто.

Ячейки в екселе между вид лома и вес - можно не заполнять, есть столбцы которые по умолчанию заполняются (проставляется "нет") и Фамилия сотрудника.

Изучал, что покидали добрые люди, но пока впихнуть смекалки не хвататет
Вложения
Тип файла: xlsx Журнал ПСА по чермету.xlsx (72.6 Кб, 21 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,961
Записей в блоге: 4
01.11.2024, 10:01
Цитата Сообщение от ilya841 Посмотреть сообщение
но пока впихнуть смекалки не хвататет
У вас объединенные ячейки и в данных и в шапке - значит автоподбор высоты ячейки работать не будет (в екселе) , не править же вручную
в ворде - будет, но многое зависит от количества строк в отчете, при слишком длинной таблице - ВОРД неустойчив

-какой формат бумаги для печати А3-А4
-что делать, если не влезает в ширину альбомного листа
Миниатюры
Выборка и перенос данных из Access в Excel   Выборка и перенос данных из Access в Excel  
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,961
Записей в блоге: 4
01.11.2024, 10:21
вывела на печать одним а4
-в екселе - нечитаемо
- в ворде - нормально
Миниатюры
Выборка и перенос данных из Access в Excel   Выборка и перенос данных из Access в Excel  
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
02.11.2024, 08:06
Цитата Сообщение от shanemac51 Посмотреть сообщение
в екселе - нечитаемо
Чушь, просто уметь надо. Ячейки объединять надо, где требуется, а шрифт увеличивать. Я и накладные и счёт-фактуры в Эксель выгружал.
p.s. шапка убогая, выровнять вправо не судьба?
0
0 / 0 / 0
Регистрация: 01.10.2024
Сообщений: 9
02.11.2024, 09:03  [ТС]
Опечатка, в таблице2 данные для заполнения ексель. таблица1 список клиентов для автозаполнения

Добавлено через 1 минуту
Да распечатывается вроде без проблем. Печатают и подшивают в отчетность
0
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
02.11.2024, 19:19
Цитата Сообщение от ilya841 Посмотреть сообщение
Ексель №Приемосдаточного акта = Код в аксесс
Из какой таблицы брать Код? Из Таблица2? Но я в ней не нашел ни 5836, ни 5837 (то, что указано в таблице Excel).
Дата - тоже не нашел в Таблице2 той даты, которая указана в файле Excel. Но это хоть понятно, что оттуда.
Виды лома и отходов черного металла - туда что вставлять? Наименование1, Наименование2
и т.д. - это как? Соединять 2 поля в одно? Опять же в самой БД - хаос. Связи таблиц... Вам надо всю Таблица2 и Таблица1 в Excel или только конкретные записи, которые будут отбираться через форму Таблица2?
В общем вопросов много...
Изменил файл чермет_журнал_2022.xlsx на шаблон чермет_журнал_2022.xltx и положил в папку \Dot
Что именно изменил: убрал некоторые объединенные ячейки.
Немного подправил Ваш код:
Кликните здесь для просмотра всего текста
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Private Sub ExportTest_Click()
' Экспорт некоторых данных из таблицы "Таблица2" используя "шаблон" = "чермет_журнал_2022.xltx" в файл_чермет_журнал.2022.xlsx 
' Внимание !!! = Считается что шаблон лежит в папке \Dot тек. приложения (базы данных) !!!
'--------------------------------------------------------------------------------------//
On Error GoTo ExportTest_Err
Dim xlApp, xlExcel, xlBook, xlSheet, xlCells As Object
Dim rst As DAO.Recordset, db As DAO.Database
Dim sVal$, TmplFileName$
 
  Set xlApp = CreateObject("Excel.Application")
' Окно Excel = Видим-м-м-мым!
  xlApp.Visible = True
  xlApp.WindowState = 3 'во весь экран
' Считается что шаблон лежит в папке \Dot тек. приложения (базы данных) !!!
  TmplFileName = CurrentProject.Path & "\Dot\чермет_журнал_2022.xltx"
  Set xlBook = xlApp.Workbooks.Add(TmplFileName)
  Set xlSheet = xlBook.Sheets(1) 'Worksheets(1)
  
  sVal = "SELECT Код, дата, наименование, физикрек, " & _
  "'Из какого поля брать?' AS Местоположение, наименование1 + ', ' & наименование2 + ', ' + наименование3, '???' AS [Реквизиты ТН], '', '', '', '', вес_нетто" & vbCrLf & _
  "FROM Таблица2;"
      
  Set rst = CurrentDb.OpenRecordset(sVal, dbOpenSnapshot)
    xlApp.Cells(3, 1).CopyFromRecordset rst ' вставка ... в ячейку "A3"
    ' С форматированием пока не заморачиваемся ... А надо бы. Только точно надо знать "что" да "как"
    
 xlBook.SaveAs CurrentProject.Path & "\Excel\чермет_журнал_" & Format(Now, "yyyy-mm-dd-hh-mm-ss") & ".xlsx"
    
    Set xlSheet = Nothing: Set xlBook = Nothing: Set xlApp = Nothing
    Set rst = Nothing: Set db = Nothing
  
 
ExportTest_End:
    On Error Resume Next
    rst.Close:    Set rst = Nothing
    Set oSheet = Nothing
    Set oBook = Nothing
    Set oExcel = Nothing
    Err.Clear
    Exit Sub
 
ExportTest_Err:
    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in Sub ExportTest.", _
        vbCritical, "Произошла ошибка!"
    Debug.Print "ExportTest_Line: " & Erl & "."
    Err.Clear
    Resume ExportTest_End
End Sub

Вешать на кнопку (какую там захотите) На событие После нажатия выбрать [Процедура...]
Единственный момент: файл-шаблон чермет_журнал_2022.xltx надо положить в папку \Dot\чермет_журнал_2022.xltx
А также создать папку \Excel (для сохранения).
P.S. Избавтесь в таблицах от пробелов в названиях! Таких как: вес брутто, вес нетто - измените их (пробелы) на нижнее подчеркивание: вес_нетто. Без этого код, который я выложил, не будет работать.
Вложения
Тип файла: rar чермет_журнал_2022.rar (8.2 Кб, 17 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,961
Записей в блоге: 4
02.11.2024, 20:17
Цитата Сообщение от matva Посмотреть сообщение
Что именно изменил: убрал некоторые объединенные ячейки.
А если потребуются дополнительные данные
- раздел УТВЕРЖДАЮ
- раздел ПОДПИСИ
0
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
02.11.2024, 22:02
Цитата Сообщение от shanemac51 Посмотреть сообщение
А если потребуются дополнительные данные
- раздел УТВЕРЖДАЮ
- раздел ПОДПИСИ
Там их нет и навряд ТАМ они будут.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,961
Записей в блоге: 4
03.11.2024, 08:23
Цитата Сообщение от ilya841 Посмотреть сообщение
помогающая оформить документ (приемо-сдаточный акт)
ТС писал(еще в 1-м посте), что ему нужен документ, а не простой список
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.11.2024, 08:23

Перенос данных из Access в Excel
Добрый день! Такая проблема: Мне нужно перенести данные из exel в access, но в access несколько полей могут принимать только...

Перенос данных из Excel в Access
День Добрый!Есть таблица Excel и база данных Access.Нужно написать код на кнопку,который бы переносил данные из Excel в Access....

Перенос данных из Excel в Access
Всем привет.Можете подсказать есть еще какой-нибудь способ переноса данных из Excel в Access помимо экспорта?

Перенос данных из excel в access
Всем добрый день! У меня простой код Sub Inter() DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel10,...

Перенос данных из Excel в Access
можно ли перенести данные в access из excel ??если да . то как??


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru