|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
Прошу помощи в решении задачи. Имеется БД access, в которой в одной из таблиц - организации (записи не повторяются - ОГРН уникальные). Имеется также excel-файл, в котором тоже организации. Причем excel-файл регулярно обновляется (появляются новые, удаляются недействующие, корректируются данные об организации) - эти изменения делаются отдельно и сейчас не важно, как именно. Задача стоит такая: как сделать, чтобы обновляемые данные появлялись в таблице в БД, т.е. новые добавлялись, отсутствующие в excel (то есть прекратившие существование) оставались в БД без изменения, а измененные - менялись. Я пока вижу путь такой: обновляемая таблица в БД, связанная с excel-файлом, на ее основе - запрос на обновление таблицы в БД (обновляться должны ВСЕ поля). Дополнительно: на сегодня имена полей в таблицах не всегда совпадают, но есть точное их соответствие: например, в excel - "Наименование", в БД - "Полное наименование", в excel - "ОПФ", в БД - "Организационно-правовая форма юридического лица". В принципе их несложно согласовать между собой, просто пока это не сделано. Этот запрос на обновление я прошу помочь сделать - у меня не получается. Может, имеется и другие способы (в том числе макросы) решения этой задачи. Буду признателен. Используется офис 16. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 09:27 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 записи не повторяются - ОГРН уникальные -видимо ввела бы в аксесс таблице флажок -через запрос флажок=истина -добавила из ексель таблицы новые -обновила все из ексель таблицы с обновлением полей, флажок=ложь теперь истина осталась осталась только у удаленных строк итого 3 запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 10:19 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88, у вас 2 таблицы - надо сопоставить их поля \Таблица: Организации\\ 1Код-служебное полеДл ц42ОГРН- уникальный ключДв пл83ИННДв пл84Организационно-правовая форма юридического лицаТ2555НаименованиеТ2556Адрес места нахождения юридического лица, адрес места жительстваТ2557Адреса мест осуществления лицензируемого вида деятельностиТ2558ТерриторияДл ц49ТипДл ц410Zflag-служебное полеЛогический1 ехсель - явно не нужные поля убрада(даты и пустые) основание вынесения решений лицензирующего органа о приостановления действия лицензийСклонениеСокращенное наименованиеТелефонтип (было ранее)Факт адрес (при отсутствии в ЛОД)2ОГРН3ИНН4ОПФ5Полное наименование6Юр.адрес7Место осуществления ОД8Территория9Тип ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 11:08 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88, а для территории и типа надо учесть подстановки, вполне могут различаться в разных ексельках сколько примерно строк в ексельках(порядок 1000+, 10000+,100000+, более) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 11:20 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
А чем импорт(добавление в ACCESS после добавления новых записей в EXCEL-только их добавлять) не устраивает? наморщить лоб и продумать логику работы БД ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 11:47 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
sdku, не устраивает тем, что могут меняться данные и они должны изменяться в аксе ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 11:51 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, убирать из excel "ненужные" поля нельзя, т.к. они требуются для других задач. Сопоставить поля и даже скорректировать их названия можно, это не вопрос. Я не понимаю, как построить в аксе запрос, в результате которого в таблице БД сведения об организациях обновятся в соответствии с excel-ским файлом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 11:54 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, в файле около 4000 записей, в таблице БД - около 5000 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 11:57 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 2ОГРН- уникальный ключДв пл83ИННДв пл8 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 12:17 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88, сделай мастера, делофф то. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 12:17 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 в файле около 4000 записей, в таблице БД - около 5000 - с такими объемами проще удалить все записи в акцессе и одним запросом записать новые, если это часто, то раз в неделю сжать БД - еще проще удалить таблицу из акцесса и вместо нее привязать таблицу эксекля, потом файл заменил и всё... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 12:54 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
То есть МОЯ задача решения не имеет ;( Больше всего мне "понравилось" предложение все удалить и сделать заново. ХорошО также мнение о типах данных в полях ИНН и ОГРН. Какая связь с вопросом в теме? В аксе много разной информации в других таблицах, связанных с "Организациями". Удалять эту информацию (а она удалится, если будет просто заменяться таблица) я не могу. Но сведения (правильное наименование, адрес и пр.) могут меняться и нужно, чтобы эта дополнительная информация "привязывалась" к актуальной карточке юрлица. А эта актуальная информация есть в excel-файле. Отсюда и мой вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:15 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 в файле около 4000 записей, в таблице БД - около 5000 это немного, а лишних полей екселя нет в в вашей основной таблице(там только 8 полей и 2 служебых) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:16 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 То есть МОЯ задача решения не имеет ;( я вам описала решение - вполне реальное, не учла только подстановки 2-х полей всего-то 3 запроса + прилинкованная екселька можно и кодом все прописать, для этого я спрашивала про количество записей ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:18 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА это немного, а лишних полей екселя нет в в вашей основной таблице(там только 8 полей и 2 служебых) Я понимаю, что это немного. Мне нужно, чтобы при совпадении ОГРН заменялись в БД/Организации данные в полях "Наименование" и "Адрес". Если ОГРН нет в БД, то создавалась новая запись, а если наоборот, в БД ОГРН есть, а в excel нет, то запись в БД/Организации оставалась без изменений. Соответствия полей: БД excel ОГРН - ОГРН ИНН - ИНН Адрес места нахождения юридического лица, адрес места жительства - Юр.адрес Наименование - Полное наименование Адреса мест осуществления лицензируемого вида деятельности - Место осуществления ОД ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:27 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, простите, но я не понял вашего решения. Можно его показать в моем примере? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:28 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88, напишите на почту показ и комментарии только на скайпе(микрофон+демо) замечаний довольно много ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:39 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, отправил ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:53 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88, прочла ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 13:58 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 ХорошО также мнение о типах данных в полях ИНН и ОГРН. Какая связь с вопросом в теме? Другой человек поблагодарил бы и исправил. умный бы ещё поинтересовался почему и попытался понять. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 14:00 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 sdku, не устраивает тем, что могут меняться данные и они должны изменяться в аксе Не надо смешивать мух с котлетами и пытаться усидеть на двух стульях ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 14:48 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 Задача стоит такая: как сделать, чтобы обновляемые данные появлялись в таблице в БД, т.е. новые добавлялись, отсутствующие в excel (то есть прекратившие существование) оставались в БД без изменения, а измененные - менялись. последовательно выполнить два запроса: 1. Запрос на изменение. В конструктор бросаем обе таблицы и связываем их по ОГРН, меняем значения полей в таблице акцесс на значения из таблицы эксель. 2. Запрос на добавление. В конструктор бросаем обе таблицы и связываем их по ОГРН, отбираем из экселя записи для которых ОГРН в акцессе NULL, переделываем запрос в запрос на добавление в таблицу акцесс и запускаем... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 16:42 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
vmag последовательно выполнить два запроса: Спасибо, сейчас буду пробовать ваш способ ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2022, 06:01 |
|
Обновление Access из Excel
|
|||
---|---|---|---|
#18+
yantar88 Спасибо, сейчас буду пробовать ваш способ там с добавлением аккуратнее... в экселе после прилинковки будет с десяток пустых строк, нужно на ОГРН или ИНН из экселя дополнительно ставить условие Is Not Null, иначе добавятся в акцесс пустые строки из экселя ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2022, 13:31 |
|
|
start [/forum/topic.php?fid=45&tid=1609462]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 145ms |
0 / 0 |