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

Как правильно в базу данных добавить данные из эксель файла

30.09.2021, 14:01. Показов 4253. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, пишу свою базу данных, не могу понять как добавлять данные из эксель файла, то есть создана база данных, по файлы с данными, подгружалось все в программу, данные уникальны и повтором быть не может. Как это прописать в MS Access ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2021, 14:01
Ответы с готовыми решениями:

Как добавить добавить данные в базу данных посредством LINQ
Как добавить добавить данные в базу данных посредством LINQ to SQL Ошибка: Нарушение "PK_TICKER_MINUTE" ограничения PRIMARY...

Как добавить данные из Observablecollection в базу данных?
Здравствуйте) Подскажите пожалуйста, как добавить элемент Observablecollection в базу данных? Доступ к базе осуществляется через entity...

Как добавить данные из textbox-ов в базу данных?
Подскажите где ошибка пытаюсь добавить из textbox-ов данные в базу данных string connetionString = null; SqlCommand cmd; ...

50
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
30.09.2021, 14:36
Добрый день
Уточните пожалуйста, данные надо разово загрузить или постоянно?
Если постоянно, форма с данными в Excel едина?
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
30.09.2021, 14:41  [ТС]
Добрый день
Цитата Сообщение от vb001 Посмотреть сообщение
Уточните пожалуйста, данные надо разово загрузить или постоянно?
Данные нужно будет загружать постоянно, возможно ежедневно
Цитата Сообщение от vb001 Посмотреть сообщение
Если постоянно, форма с данными в Excel едина?
да была составлена таблица в excel и в таком же порядке создана база данных.

Если нужно могу прислать принтскрин.
0
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
30.09.2021, 14:46
Я сделал через форму.

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Dim FName, tblNameFile As String
Dim result, kvInNakl As Integer
 
Dim dbsNorthwind As DAO.DATABASE
Dim rstShippers As DAO.Recordset
 
    With Me.ПФНакладнаяТоварМесяца.Form.RecordsetClone
        If Not (.BOF And .EOF) Then
            .MoveLast
            kvInNakl = .RecordCount
        Else
            kvInNakl = 0
        End If
    End With
 
If kvInNakl <> 0 Then
    MsgBox "В данной накладной уже импортированы данные! Повторный импорт запрещен. Вы можете создать новую накладную.", vbDefaultButton1 + vbExclamation + vbOKOnly, "Импорт данных"
    Exit Sub
End If
 
If MsgBox("Удалить файл после импорта?", vbDefaultButton2 + vbYesNo + vbInformation, "Запрос на удаления файла импорта.") = vbYes Then
    Me.flgDelFile = True
Else
    Me.flgDelFile = False
End If
 
With Application.FileDialog(1)
   .Title = "Select file"
   .InitialFileName = "C:\" 'default path путь по умолчанию
   .AllowMultiSelect = False
   .Filters.Clear
   .Filters.Add "MS Excel", "*.xlsx, 1"
result = .Show
 
If result = 0 Then Exit Sub
 
     FName = Trim(.SelectedItems.Item(1)) 'Полный адрес к файлу с именем
         tblNameFile = Mid(FName, InStrRev(FName, "\") + 1) 'Имя файла
'         Me.Примечание = Replace(tblNameFile, ".xlsx", "")
End With
 
 
         Dim app As Object, wrk As Object
        Dim rst As DAO.Recordset
        Set rst = CurrentDb.OpenRecordset("select * from [tblТоварМесяца]")
        Set app = CreateObject("excel.application")
        Set wrk = app.workbooks.Open(FName)
        
        Dim stopName, trueName As String
        Dim o, i As Integer
        Dim art, price As Variant
        art = Null
        price = Null
        
        For i = 1 To 50 Step 1
        trueName = app.Range("b" & i)
        If trueName = "Номер заказа" Then
            Exit For
        End If
        Next i
        
        i = i + 1
        
        For o = i To 1000 Step 1
        trueName = app.Range("b" & o)
 
            If trueName = "" Or IsNull(trueName) Then
                Exit For
            Else
 
                  Set dbsNorthwind = CurrentDb
                  Set rstShippers = dbsNorthwind.OpenRecordset("qryНакладнаяНоваяСтрока")
                  
                  rstShippers.AddNew
                  rstShippers!КодНакладнаяМесяца = Me.КодНакладнойМесяца
                  rstShippers!НомерЗаказа = CDec(app.Range("b" & o))
                  rstShippers!НаименованиеТовараАлиБаБа = app.Range("e" & o)
                  rstShippers!КодТовараИзАлиБаБа = CDec(app.Range("d" & o))
                  
                  rstShippers!КоличествоТовараАлиБаБа = app.Range("g" & o)
                  
                  Dim i1 As Integer
                 i1 = CInt(Left(app.Range("k" & o), InStrRev(app.Range("k" & o), ".") - 1))
                 rstShippers!СуммаТовараАлиБаБа = CDbl(Left(app.Range("k" & o), InStrRev(app.Range("k" & o), ".") - 1))
                 rstShippers!СтоимостьТовараАлиБаБа = CDbl(Left(app.Range("k" & o), InStrRev(app.Range("k" & o), ".") - 1)) / app.Range("g" & o)
                    rstShippers.Update
 
            End If
        Next o
        
        app.Quit
 
Me.Refresh
 
MsgBox "Импорт завершён.", vbDefaultButton1 + vbInformation + vbOKOnly, "Информация"
 
If Me.flgDelFile = True Then
    Kill FName
    Me.flgDelFile = False
End If
 
 
Ex1:
    Exit Sub
Err1:
    Resume Ex1
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
30.09.2021, 14:50  [ТС]
Цитата Сообщение от vb001 Посмотреть сообщение
Я сделал через форму.
огромное спасибо, а можете подсказать пожалуйста куда ее вставить, чтобы у меня все заработало, так как я только изучаю Microsoft Access и еще правильно я понимаю, что то что выделено зеленым мне нужно заменить на свои данные?
0
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
30.09.2021, 14:52
Скиньте вашу базу и файл Excel
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
30.09.2021, 15:07
Цитата Сообщение от DJMC Посмотреть сообщение
Если нужно могу прислать принтскрин.
картинки смотреть и анализировать крайне неудобно - надо видеть документы, которые надо получить с условно/реалистичными данными
2
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
30.09.2021, 15:51  [ТС]
Цитата Сообщение от vb001 Посмотреть сообщение
Скиньте вашу базу и файл Excel
во вложении шаблон базы
Вложения
Тип файла: zip база шаблон.zip (1.99 Мб, 25 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,478
30.09.2021, 16:13
Цитата Сообщение от DJMC Посмотреть сообщение
во вложении шаблон базы
... пустой базы и пустого файла Excel
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
30.09.2021, 16:19  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
... пустой базы и пустого файла Excel
вот частично заполненный файл с данными для базы...
Вложения
Тип файла: xlsx шаблон базы MS Access пустая.xlsx (26.9 Кб, 24 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,478
30.09.2021, 16:54
Лучший ответ Сообщение было отмечено DJMC как решение

Решение

Цитата Сообщение от DJMC Посмотреть сообщение
вот частично заполненный файл с данными для базы...
С одной, не полной, записью однако...
Всё понятно.
...
Слепленный "наскоряк" пример ниже:
Вложения
Тип файла: zip база шаблон_v02.zip (71.6 Кб, 20 просмотров)
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
01.10.2021, 09:14  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Слепленный "наскоряк" пример ниже:
Добрый день, я только начинаю этим заниматься, заполнять файл буду не я, а разные люди, мне все нужно будет сводить потом в базу, посоветуйте пожалуйста какие темы изучить, чтобы создать простую рабочую базу?
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,478
01.10.2021, 09:26
Цитата Сообщение от DJMC Посмотреть сообщение
посоветуйте пожалуйста какие темы изучить, чтобы создать простую рабочую базу?
Литературу по теме почитайте.
И опять же выбор литературы зависит от читателя, есть кратко "для продвинутых" и "с разжёвыванием" для "чайников".
...
Отвечая на вопрос:
У меня, лично, не вызвала отторжения книженция:
Microsoft Access 2010. Разработка приложений на реальном примере (Гурвиц Г.А.) +CD
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
01.10.2021, 09:37
Цитата Сообщение от DJMC Посмотреть сообщение
заполнять файл буду не я, а разные люди, мне все нужно будет сводить потом в базу, посоветуйте пожалуйста какие темы изучить, чтобы создать простую рабочую базу
В первую очередь надо понять
- насколько надежна ексель набивка - иногда она слишком грязная, ячейки не имеют единого форматирования и в аксесс попадает мусор
- как далее будет обрабатываться информация(фильтры/поиск, формируемые бланки документов, насколько стабильны формы....)
- разные люди -весьма важный фактор, их фантазия при вводе данных - безгранична

пока вы лично не попробуете ввести данные и получить некий стандартный полезный вывод - базу вы не сделаете
вначале всегда делаю МАКЕТ -УПРОЩЕННОЕ РЕШЕНИЕ, чтобы и самому понять задачу и разным людям+ начальству было что-то продемонстрировать

может заказчик по другому видит решение, при пробном показе у него возникнут вопросы по функционалу - можно ли сделать то или то, а может и это
3
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
01.10.2021, 10:12  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
У меня, лично, не вызвала отторжения книженция:
Спасибо за совет, уже ищу в интернете.

Цитата Сообщение от shanemac51 Посмотреть сообщение
вначале всегда делаю МАКЕТ -УПРОЩЕННОЕ РЕШЕНИЕ, чтобы и самому понять задачу и разным людям+ начальству было что-то продемонстрировать
именно это я и сделал в базе, просто макет, и отправил пустой файл, чтобы они начали его заполнять, но мою базу еще трудно даже базой назвать, там просто минимальный шаблон, ни какие параметры еще не заданы, я объективно понимаю что сам врядли я смогу написать ей, возможно тут на форуме есть умельцы кто может с этим помочь(разумеется не за бесплатно) , прошу подсказать раздел куда правильнее написать об этом?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
01.10.2021, 10:22
Цитата Сообщение от DJMC Посмотреть сообщение
сделал в базе, просто макет, и отправил пустой файл, чтобы они начали его заполнять
ЭТОГО МАЛО - для себя вы должны понять задачу до макета, нельзя заполнять, если не разобрались в потребном функционале(наведение красоты - вторично)
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,478
01.10.2021, 10:23
Цитата Сообщение от DJMC Посмотреть сообщение
... уже ищу в интернете.
http://msa.polarcom.ru/st/s0000223.htm

В формате MS Word (редактируемый вариант)
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 108
01.10.2021, 10:48  [ТС]
Цитата Сообщение от shanemac51 Посмотреть сообщение
ЭТОГО МАЛО - для себя вы должны понять задачу до макета, нельзя заполнять, если не разобрались в потребном функционале
шаблон базы согласован, цель избавить сотрудников от таблиц, сейчас каждый сотрудник ведет у себя свою таблицу, так как в ней ему привычнее ориентироваться, но по сути данные у всех одни и те же, по этому я предложил оптимизировать этот процесс, создав одну базу, а дальше каждый сотрудник будет просто выгружать нужный ему отчет, в идеале я вижу это так, брокер присылает мне файлы, я их подгружаю в базу, а сотрудник заходя в базу просто нажимает свою фамилию(отдел) и получает в привычном ему виде данные которые нужны ему до работы.
Решил что под это задачу самое лучшее это Microsoft Access, так как Макросы не позволяют сделать все это в понятной форме. Но к сожалению своих знаний не хватает для реализации проекта, буду делать и учиться в процессе.

Скажите пожалуйста со стороны, это(то что выделено жирным цветом выше) ведь реально сделать в Microsoft Access?
0
01.10.2021, 11:05
 Комментарий модератора 
Цитата Сообщение от DJMC Посмотреть сообщение
возможно тут на форуме есть умельцы кто может с этим помочь(разумеется не за бесплатно) , прошу подсказать раздел куда правильнее написать об этом?
Могу перенести тему в раздел Фриланс.

Перенести?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
01.10.2021, 11:05
Цитата Сообщение от DJMC Посмотреть сообщение
брокер присылает мне файлы, я их подгружаю в базу
желательно посмотреть довольно реалистичный файл, видимо в ексель, 10-15 строк, реальные счета могут быть условные 1111222556688 рога и копыта и т.д
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2021, 11:05
Помогаю со студенческими работами здесь

DateTimePicker, как правильно вставить данные в базу данных
Доброго времени суток. Нужно из DateTimePicker вывести только годы. Это решил и сделал: Format : yyyy ; DateMode: dmUpDown. Хочу вставить в...

Как правильно передать данные из таблицы DataGridView в SQL базу данных
Здравствуйте. Есть таблица DataGridView которая содержит данный которые добавляет пользователь или загружает из файла. Как мне правильно...

Как через TextBox добавить данные в базу данных с помощью LINQ to SQL?
Доброго времени суток! а можно с помощью Linq to Sql Добавлять данные в базу данных? и каким образом можно сделать объясните на пальцах кто...

Как добавить в базу данных (MS SQL Server) данные о пользователе и дату последнего изменения
Здравствуйте! Может кто подсказать, как добавить в базу данных (ms sql server) данные о пользователе и дату последнего изменения. Т.е Имя...

Необходимо получить/добавить данные в табличной форме из файла эксель. НО НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ КЛАССЫ И ОБЪЕКТЫ(курсач)
Необходимо получить/добавить данные в табличной форме из файла эксель. НО НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ КЛАССЫ И ОБЪЕКТЫ(курсач).


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru