Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
320 / 135 / 36
Регистрация: 16.03.2013
Сообщений: 1,437
1

Перенос данных из Excel с использованием диалога выбора файла

06.11.2017, 10:39. Показов 3260. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здравствуйте!
Подскажите пожалуйста по коду следующее.
Есть таблица Access "Заявки", данные в которую подгружаются через шаблонный файл Excel используя связанные источники данных, при этом приходится вставлять данные из исходного файла екселя в шаблонный файл екселя, связанный с БД и затем только уже переносить в Access, решил немного модернизировать это действо, убрать это "лишнее" звено, тем более что структура файлов екселя - шаблона и источника абсолютно одинаковая. Данный существующий вариант переноса применяется потому, что каждый день плановый -диспетчерский отдел скидывает заявки в производство в виде графика производства (он же файл источник) наименованный в виде сегодняшней даты, например "6112017" и такая дребедень каждый день.
В связи с чем возникла мысль, реализовать это дело через прямой переброс данных из новой таблицы екселя в ацесс методом выбора нужного файла и загрузки его содержимого в ацесс минуя шаблон.
Диалог открытия файла на кнопку навесил,

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim nFile DAO.Recordset
        With Application.FileDialog(3) 'msoFileDialogFilePicker
            .Title = "Выбрать график производства 1С для загрузки в работу "
            .InitialFileName = CurrentProject.Path
            .Filters.Add "Excel files", "*.xls*", 1
            .InitialFileName = "L:\Цех\Заявки ПДО"
            .AllowMultiSelect = False
            If .Show And .SelectedItems.Count > 0 Then
         Else
                MsgBox "Файл не выбран"
                Exit Sub
            End If
        End With
далее нужно реализовать загрузку данных из этого графика в таблицу.Как в моем случае лучше и проще это сделать?


Файл источник екселя имеет столбцы: [ДатаЗаявки][Изделие][Деталь][Количество][ДатаГотовности]
Табица access имеет точно такие же наименования столбцов.
Подскажите пожалуйста как описать далее в коде процедуру перемещения данных из екселя в ацесс, чтобы вновь переносимые данные добавлялись к уже имеющимся в таблице.
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2017, 10:39
Ответы с готовыми решениями:

Средства диалога выбора файла
Есть ли какие-то минимальные средства для реализации диалога выбора файла на С (в консольной...

Получить имя файла из диалога выбора файла
Нашел класс диалога выбора файла: package com.stetsenko.openfiledialog; import...

Не получается избавиться от Qt-шного диалога выбора файла
QString mOpenFilter = "All supported (*.bmp *.gif *.ico *.jpeg *.jpg *.mng *.pbm *.pgm *.png *.ppm...

Начало загрузки по закрытию диалога выбора файла
Сабж. Сейчас делаю во так: <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button...

20
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
07.11.2017, 11:43 21
Author24 — интернет-сервис помощи студентам
)) Хорошо, что хорошо кончается.
А если серьезно, то выходит, что мы остановились на варианте импорта ДИАПАЗОНА ячеек. Как-то мне это не очень нравится... Конечно, если диапазоны будут оставаться строго фиксированными, и, например, данные не превысят 300 строк, то все по идее будет правильно работать... Но все равно какой-то у меня "осадок остался")).
Почему-то кажется более логически правильным все-таки вариант, когда из экселевского файла мы вытягиваем ВСЕ данные, которые есть на листе (а для этого таки придется удалять временную таблицу, каждый раз создавая ее заново), затем запросами "отфильтровываем" только нужные данные и уже именно их вбрасываем в итоговую таблицу. И в принципе, для этого даже не понадобятся еще какие-то промежуточные таблицы, если правильно построить запрос на добавление...
Ну да ладно, раз работает и устраивает именно так, как работает - значит так тому и быть). А идеалы оставим для учебников.
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru