powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обновление Access из Excel
24 сообщений из 24, страница 1 из 1
Обновление Access из Excel
    #40135491
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помощи в решении задачи.
Имеется БД access, в которой в одной из таблиц - организации (записи не повторяются - ОГРН уникальные). Имеется также excel-файл, в котором тоже организации. Причем excel-файл регулярно обновляется (появляются новые, удаляются недействующие, корректируются данные об организации) - эти изменения делаются отдельно и сейчас не важно, как именно.
Задача стоит такая: как сделать, чтобы обновляемые данные появлялись в таблице в БД, т.е. новые добавлялись, отсутствующие в excel (то есть прекратившие существование) оставались в БД без изменения, а измененные - менялись.

Я пока вижу путь такой: обновляемая таблица в БД, связанная с excel-файлом, на ее основе - запрос на обновление таблицы в БД (обновляться должны ВСЕ поля).
Дополнительно: на сегодня имена полей в таблицах не всегда совпадают, но есть точное их соответствие: например, в excel - "Наименование", в БД - "Полное наименование", в excel - "ОПФ", в БД - "Организационно-правовая форма юридического лица". В принципе их несложно согласовать между собой, просто пока это не сделано.

Этот запрос на обновление я прошу помочь сделать - у меня не получается.

Может, имеется и другие способы (в том числе макросы) решения этой задачи.
Буду признателен.

Используется офис 16.
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135518
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
записи не повторяются - ОГРН уникальные

-видимо ввела бы в аксесс таблице флажок
-через запрос флажок=истина
-добавила из ексель таблицы новые
-обновила все из ексель таблицы с обновлением полей, флажок=ложь

теперь истина осталась осталась только у удаленных строк
итого 3 запроса
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135544
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88,

у вас 2 таблицы - надо сопоставить их поля

\Таблица: Организации\\
1Код-служебное полеДл ц42ОГРН- уникальный ключДв пл83ИННДв пл84Организационно-правовая форма юридического лицаТ2555НаименованиеТ2556Адрес места нахождения юридического лица, адрес места жительстваТ2557Адреса мест осуществления лицензируемого вида деятельностиТ2558ТерриторияДл ц49ТипДл ц410Zflag-служебное полеЛогический1
ехсель - явно не нужные поля убрада(даты и пустые)
основание вынесения решений лицензирующего органа о приостановления действия лицензийСклонениеСокращенное наименованиеТелефонтип (было ранее)Факт адрес (при отсутствии в ЛОД)2ОГРН3ИНН4ОПФ5Полное наименование6Юр.адрес7Место осуществления ОД8Территория9Тип
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135550
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88,
а для территории и типа надо учесть подстановки, вполне могут различаться в разных ексельках

сколько примерно строк в ексельках(порядок 1000+, 10000+,100000+, более)
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135570
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем импорт(добавление в ACCESS после добавления новых записей в EXCEL-только их добавлять) не устраивает?
наморщить лоб и продумать логику работы БД
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135575
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, не устраивает тем, что могут меняться данные и они должны изменяться в аксе
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135577
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, убирать из excel "ненужные" поля нельзя, т.к. они требуются для других задач. Сопоставить поля и даже скорректировать их названия можно, это не вопрос. Я не понимаю, как построить в аксе запрос, в результате которого в таблице БД сведения об организациях обновятся в соответствии с excel-ским файлом.
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135581
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
в файле около 4000 записей, в таблице БД - около 5000
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135589
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
2ОГРН- уникальный ключДв пл83ИННДв пл8
очень сомнительно хранить эти данные в полях с таким типом
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135590
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88, сделай мастера, делофф то.
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135600
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
в файле около 4000 записей, в таблице БД - около 5000


- с такими объемами проще удалить все записи в акцессе и одним запросом записать новые, если это часто, то раз в неделю сжать БД
- еще проще удалить таблицу из акцесса и вместо нее привязать таблицу эксекля, потом файл заменил и всё...
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135606
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть МОЯ задача решения не имеет ;(
Больше всего мне "понравилось" предложение все удалить и сделать заново. ХорошО также мнение о типах данных в полях ИНН и ОГРН. Какая связь с вопросом в теме?

В аксе много разной информации в других таблицах, связанных с "Организациями". Удалять эту информацию (а она удалится, если будет просто заменяться таблица) я не могу. Но сведения (правильное наименование, адрес и пр.) могут меняться и нужно, чтобы эта дополнительная информация "привязывалась" к актуальной карточке юрлица. А эта актуальная информация есть в excel-файле. Отсюда и мой вопрос.
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135607
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
в файле около 4000 записей, в таблице БД - около 5000

это немного, а лишних полей екселя нет в в вашей основной таблице(там только 8 полей и 2 служебых)
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135608
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
То есть МОЯ задача решения не имеет ;(

я вам описала решение - вполне реальное, не учла только подстановки 2-х полей
всего-то 3 запроса + прилинкованная екселька

можно и кодом все прописать, для этого я спрашивала про количество записей
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135612
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА

это немного, а лишних полей екселя нет в в вашей основной таблице(там только 8 полей и 2 служебых)


Я понимаю, что это немного. Мне нужно, чтобы при совпадении ОГРН заменялись в БД/Организации данные в полях "Наименование" и "Адрес". Если ОГРН нет в БД, то создавалась новая запись, а если наоборот, в БД ОГРН есть, а в excel нет, то запись в БД/Организации оставалась без изменений.

Соответствия полей:
БД excel
ОГРН - ОГРН
ИНН - ИНН
Адрес места нахождения юридического лица, адрес места жительства - Юр.адрес
Наименование - Полное наименование
Адреса мест осуществления лицензируемого вида деятельности - Место осуществления ОД
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135614
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, простите, но я не понял вашего решения. Можно его показать в моем примере?
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135620
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88,

напишите на почту
показ и комментарии только на скайпе(микрофон+демо)
замечаний довольно много
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135627
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, отправил
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135629
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88,
прочла
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135630
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
ХорошО также мнение о типах данных в полях ИНН и ОГРН. Какая связь с вопросом в теме?
прямая - отсутствие знания
Другой человек поблагодарил бы и исправил. умный бы ещё поинтересовался почему и попытался понять.
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135649
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
sdku, не устраивает тем, что могут меняться данные и они должны изменяться в аксе
И не будет устраивать до тех пор пока Вы четко не определите ЧТО является самой БД (файл ACCESS) и всего-навсего источником данных для неё (файл EXCEL или любой другой,который Вы пытаетесь использовать как БД-то бишь хранить,изменять данные и извлекать из этих данных некую информацию без учета изменений\удаления данных)
Не надо смешивать мух с котлетами и пытаться усидеть на двух стульях
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135694
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
Задача стоит такая: как сделать, чтобы обновляемые данные появлялись в таблице в БД, т.е. новые добавлялись, отсутствующие в excel (то есть прекратившие существование) оставались в БД без изменения, а измененные - менялись.


последовательно выполнить два запроса:
1. Запрос на изменение. В конструктор бросаем обе таблицы и связываем их по ОГРН, меняем значения полей в таблице акцесс на значения из таблицы эксель.
2. Запрос на добавление. В конструктор бросаем обе таблицы и связываем их по ОГРН, отбираем из экселя записи для которых ОГРН в акцессе NULL, переделываем запрос в запрос на добавление в таблицу акцесс и запускаем...
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135776
yantar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag


последовательно выполнить два запроса:

Спасибо, сейчас буду пробовать ваш способ
...
Рейтинг: 0 / 0
Обновление Access из Excel
    #40135849
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yantar88
Спасибо, сейчас буду пробовать ваш способ

там с добавлением аккуратнее...
в экселе после прилинковки будет с десяток пустых строк, нужно на ОГРН или ИНН из экселя дополнительно ставить условие Is Not Null, иначе добавятся в акцесс пустые строки из экселя
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обновление Access из Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (1), Yandex Bot 6 мин.
Пользователи онлайн (7): Анонимы (5), Bing Bot, Yandex Bot
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]