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

Импорт данных таблицы .xls в таблицу Аксесс и их обработка

06.07.2016, 10:33. Показов 3579. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Форумчане, доброго времени суток!
Прошу Вашей помощи.

Есть файлы.xls (перечень элементов) данные из которых нужно сгруппировать по "наименование" и просуммировать по "Кол" в каждой группе.(сейчас это приходится делать вручную)

Как я себе это представляю:
1.Пользователь ставит курсор на поле "Ссылка" формы1 , открывается проводник и в нем находится нужный файл (.xls) и нужный лист
2. нажимает на кнопку и производится импорт выбранного листа в аксесс
3. Нажимает на другую кнопку- выводится отчет в нужном виде ( с группировкой по "наименованию" и суммировано "Кол" в каждой группе.

Мне бы помочь по п. №1 и №2 - остальное сделаю сам.
Вложения
Тип файла: rar Cymm_Komp.rar (100.8 Кб, 16 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.07.2016, 10:33
Ответы с готовыми решениями:

Импорт данных их xls в существующую таблицу
Здравствуйте. Помогите реалиовать задумку. Есть таблица в excel (Колонка А: 1, 2, 3.... Колонка B: вопрос 1, вопрос2, вопрос3...). Надо...

Импорт данных з экселя в аксесс
в пред. версии Аксес был макрос - загрузить даные из єкселя в аксес, в новой версии 2010 не вижу, помогите разобраться.

Java POI (импорт данных из .xls в JTable)
Всем привет! Решил импортировать данные из excel-файла в таблицу, написал след. код на кнопку: //Import From Excel private...

36
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
07.07.2016, 01:59
Смотрите форму ConnectExcel. Нажимаете на кнопку с биноклем, находите нужный файл. Справа, в списке "Листы книги" выбираете лист, снизу появится форма с данными выбранного листа. Флажок chkOne (с надписью "Первая строка название поля") действует на первую строку листа, если галка стоит, то первая строка имя поля. Иначе все строки считаются данными.

В запросе qTempGetDataFromExcel данные из выбранного листа. Он же источник подформы в форме ConnectExcel.

Обратите внимание: если флажок chkOne поднят и первая строка имя поля, то точки в именах полей заменяются на решетки, а отсутствующие названия записываются как F1, F2 и так далее.
Вложения
Тип файла: rar Cymm_Komp.rar (29.1 Кб, 25 просмотров)
3
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
07.07.2016, 14:13  [ТС]
mobile, Вы творите чудеса! Спасибо огромное!
Пользователи попросили сделать так что-бы можно было выбирать любое количество листов Иксель (сейчас можно выбрать только один) и производить суммирование компонентов. Возможно это сделать?
Если нет- то просьба сделать вариант с суммирование ВСЕХ листов иксель сразу.
Еще просьба, добавить в запрос qTempGetDataFromExcel поле счетчик. Это нужно для отбора записей из файла, в котором шапка занимает более 1 сроки ( например S3+_5038_2_OPTO_16UP.xls )
Вложения
Тип файла: rar НА_Форум_По_Суммированию компоннтов.rar (164.5 Кб, 10 просмотров)
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.07.2016, 05:50
Забыл про этот топик...

ankan, смотрите вложение. Добавилось поле номера первой строки листа екселя. По умолчанию равно 1, но можно поменять. Например записав 10 для файла S3+_5038_2_OPTO_16UP.xls попадаем на строку имен полей. Также добавились 2 группы: выбор по одному листу или сразу нескольких. Если выбрано нескольких, то в другой группе выбор всех листов или произвольный выбор любых из списка. В поле под группами через запятую перечислены выбранные листы.

Добавлена кнопка Создать таблицу. В отличие от запроса в таблицу можно поместить несколько листов (все выбранные). Также в таблице есть счетчик (id) и поле имени листа. Мне показалось важным знать из какого листа идет инфа. Таблица называется Excel. Он каждый раз создается заново. При нажатии этой кнопки источник подформы заменяется на таблицу Excel. Но если что-либо поменять в выборе, то опять на запрос.
Вложения
Тип файла: rar Cymm_Komp.rar (53.0 Кб, 21 просмотров)
1
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
03.11.2017, 15:12  [ТС]
mobile, здравствуйте!
Прошу Вашу помощи для импорта в таблицу аксесс данных текстовых файлов.
Критерий отбора строк, которые будут копироваться- содержит "1684ХХХХ," или "1690ХХХХ,"- где ХХХХ- цифры
копируем столбец, содержащий "1684ХХХХ," или "1690ХХХХ," и следующий за ним.
итог должен выглядеть примерно так как указано в файле "Итог_Импорта";
сами файлы для импорта находятся в папке "progr"
Ранее Вы делали подобное для импорта файлов Иксель- прикладываю файл БД.
Помогите, пожалуйста!
Вложения
Тип файла: xls Итог_Импорта.xls (18.0 Кб, 4 просмотров)
Тип файла: zip progr.zip (5.1 Кб, 5 просмотров)
Тип файла: zip Cymm_Komp_1.zip (97.6 Кб, 4 просмотров)
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
03.11.2017, 17:56
ankan, попробуйте такую процедуру для записи в таблицу Temp с полями
fileТекст
datefileДата
ДанныеЧислоТекст
ДанныеСтрокаТекст
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
Sub readlogs(logfile)
    Dim p, d, TextStream, file, i
    Dim rst As DAO.Recordset
    Dim fso As Object
    
    Set rst = CurrentDb.OpenRecordset("select * from Temp")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.getfile(logfile)
    Set TextStream = file.OpenAsTextStream(1)
    While Not TextStream.AtEndOfStream
        d = TextStream.ReadLine() ' & vbCrLf
        If d Like "*1684####*" Or d Like "*1690####*" Then
            p = Split(d, ",")
            If UBound(p) >= 2 Then
                rst.AddNew
                rst!file = logfile
                rst!datefile = Now
                For i = 0 To 2
                    If p(i) Like "*1684####*" Or p(i) Like "*1690####*" Then
                        rst!ДанныеЧисло = p(i)
                        rst!ДанныеСтрока = p(i + 1)
                        Exit For
                    End If
                Next
                rst.Update
            End If
        End If
    Wend
End Sub
Запуск
Visual Basic
1
readlogs "путь\имяфайла"
Процедура readlogs в Module1
Вложения
Тип файла: rar Cymm_Komp_1.rar (50.5 Кб, 6 просмотров)
0
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
04.11.2017, 18:52  [ТС]
mobile, ругается - "файл не найден"
Миниатюры
Импорт данных таблицы .xls   в таблицу Аксесс  и их обработка  
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
04.11.2017, 19:10
Цитата Сообщение от ankan Посмотреть сообщение
mobile, ругается - "файл не найден"
А как Вы задавали. Надо с расширением
Visual Basic
1
readlogs "диск:\путь\C_S2LK_5116_2_CPU_M1(482)_20171030092021.log"
У меня все работает. Несколько записей для примера из таблицы Temp
ДанныеЧисло ДанныеСтрока
16842754 D_SMD_LQFP48_MAX1320ECM
16842756 D_SMD_BGA48_CY62167EV30
16842758 D_SMD_SSOP28_FT232RL
16842761 D_SMD_VSOJ20_RTC8564JE
1
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
04.11.2017, 19:16  [ТС]
mobile, Да, нужно с расширением. Работает.
Имя файла не постоянное, как я понял код разработан на конкретное имя файла.
Можно как-либо доработать, что бы можно было в проводнике выбирать нужный файл?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
04.11.2017, 19:21
Цитата Сообщение от ankan Посмотреть сообщение
Можно как-либо доработать, что бы можно было в проводнике выбирать нужный файл?
Я не стал этого делать потому что в Вашей БД стартовая форма уже имеет необходимый функционал. Только вместо файлов Excel искать файлы *.log. А в процедуру подставлять PathDB с формы. Вот и все
1
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
05.11.2017, 22:47
Цитата Сообщение от ankan Посмотреть сообщение
Можно как-либо доработать, что бы можно было в проводнике выбирать нужный файл?
Так ищите по маске файла.
А вообще, в сети навалом примеров открытия файла, хоть по API, хоть по FSO - выбирайте на вкус.
0
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
09.11.2017, 08:40  [ТС]
mobile, последовал Вашему совету
Цитата Сообщение от mobile Посмотреть сообщение
в Вашей БД стартовая форма уже имеет необходимый функционал. Только вместо файлов Excel искать файлы *.log. А в процедуру подставлять PathDB с формы. Вот и все
пробовал доработать код. Несколько дней прошли в этих попытках.
Что получается- когда удаляю "лишние" куски кода- не проходит компиляцию- пишет "искомый элемент не найден в данном семействе" или " конечная таблица имеет другой формат".
Код большой, взаимоувязанный. Изменять его мне сложно.
Не могли бы Вы помочь мне его доработать?
На словах все просто- вызываем проводник, в котором находим файл ".log", после этого его содержание по процедуре
Visual Basic
1
readlogs Me.PathDB
записывается в таблицу Temp (в таблицу хотелось бы добавить еще столбец с путем до файла т.е. PathDB с формы)
0
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
09.11.2017, 12:18  [ТС]
Выделил в отдельный файл/
В форме "frmProv_Yctan_Komp_Na_Yctan"- при попытке загрузить файл ".log" (кнопка159) из папки "progr"- ругается "Элемент не обнаружен в данном семействе"
Вложения
Тип файла: rar Анализ_Программ.rar (26.0 Кб, 4 просмотров)
Тип файла: rar progr.rar (4.3 Кб, 5 просмотров)
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.11.2017, 12:50
ankan, посмотрите вариант.
Вложения
Тип файла: rar Cymm_Komp_1.rar (60.8 Кб, 7 просмотров)
0
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
09.11.2017, 13:16  [ТС]
mobile, Не видит файлы с расширением ".log"
При этом, если в поле PathDB ввести путь с именем папки с файлами ".log", затем нажать кнопку "Импорт"- то данные из всех файлов ".log" из этой папки в таблицу "Temp" записываются.
Нужно что бы записывались данные именно одного, выбранного файла ".log"
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
09.11.2017, 13:40
Цитата Сообщение от ankan Посмотреть сообщение
Нужно что бы записывались данные именно одного, выбранного файла ".log"
Вот - на скорую руку
Вложения
Тип файла: zip Cymm_Komp_2.zip (78.2 Кб, 4 просмотров)
1
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
09.11.2017, 13:43  [ТС]
Eugene-LS, Да, работает как задумано. Спасибо! Буду тестировать дальше.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.11.2017, 13:48
Поправил
Вложения
Тип файла: rar Cymm_Komp_1.rar (60.0 Кб, 7 просмотров)
2
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
09.11.2017, 13:52  [ТС]
mobile, Работает, спасибо!
0
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 972
17.11.2017, 16:23  [ТС]
Форумчане, прошу помочь в импорте файла ".xml" в Аксесс.
исходный файл - "proba 1.xml"
пояснение, где в исходом файле брать данные- в файле "1.jpg"
как должен выглядеть итог импорта- в файле "Экспорт_XML.xls"
Подскажите, пожалуйста!
mobile, и Eugene-LS, уже подсказывали по импорту текстовых файлов, импорт из файла ".xml", наверно, будет похожий на разработанные ими решения.
Миниатюры
Импорт данных таблицы .xls   в таблицу Аксесс  и их обработка  
Вложения
Тип файла: xls Экспорт_XML.xls (21.0 Кб, 6 просмотров)
Тип файла: 7z proba 1.7z (14.3 Кб, 7 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.11.2017, 16:23
Помогаю со студенческими работами здесь

Импорт данных из xls или csv файла в БД MySql C#
Очень нужна помощь. Есть большой объем данных(файлы xls,csv) которые нужно импортировать через форму в БД MySql.

Вставка данных в Вордовский документ из базы данных или таблицы Аксесс
доброго времени суток. Помогите решить задачу: хочу сделать базу данных и вставлять в текст вордовского документа данные из нее!...

Если база данных создана в системе разработки реляционных баз данных Аксесс, но состоит только из одной таблицы, то буде
Если база данных создана в системе разработки реляционных баз данных Аксесс, но состоит только из одной таблицы, то будет ли она считаться...

Импорт таблицы Excel с изображениями в таблицу access
Всем привет! Ребята, нужна помощь. Есть таблица Excel, в которой есть несколько столбцов с различными типами данных. Один из столбцов...

Импорт таблицы из файла Word в таблицу Access
Помогите решить проблему: Есть несколько сотен файлов Word, в каждом таблица в виде y | y =========== х | данные ===========...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru