Последняя версия DataExpress 3 beta от 27 мая 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Загрузка данных в базу по условию

Раздел для обсуждения баз данных пользователей, которые не закончены.
Neko
Новичок
Сообщения: 23
Зарегистрирован: Чт мар 16, 2017 10:54 am
Откуда: Краснодар

Загрузка данных в базу по условию

Сообщение Neko » Вт апр 11, 2017 11:20 am

Помогите со скриптом "слияние данных". Суть: задать поле или набор полей, которые будут ключевыми и при загрузке данных обновлять значения полей данными из файла. Я думаю пригодится не только мне, может даже как штатное средство.

jurist23rus
Эксперт
Сообщения: 2167
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Загрузка данных в базу по условию

Сообщение jurist23rus » Вт апр 11, 2017 5:18 pm

А чем это отличается от штатной возможности импорта данных?
Destiny is a very convenient word for those who never take decisions.

Neko
Новичок
Сообщения: 23
Зарегистрирован: Чт мар 16, 2017 10:54 am
Откуда: Краснодар

Загрузка данных в базу по условию

Сообщение Neko » Ср апр 12, 2017 2:19 am

Я говорю о следующем: (пример) в таблице есть поля Фамилия, Имя, Отчество, Дата приёма на работу, Дата увольнения, Статус работника, (Работает, Уволен и т.п.), Совместитель, диалоговое окно (в идеале) где выбираются поля и условие их соединения (Фамилия И Имя И Отчество И Совместитель), при загрузке, если данного сочетания нет, то строка добавляется (есть и сейчас), если есть, то в первой строке, которая найдена меняются значения полей которые не были выбраны. Это скорей напоминает "Установить значение", но значения брать из внешней таблицы и не одно поле, а "одно", "несколько", "фильтр"

Neko
Новичок
Сообщения: 23
Зарегистрирован: Чт мар 16, 2017 10:54 am
Откуда: Краснодар

Загрузка данных в базу по условию

Сообщение Neko » Чт апр 13, 2017 9:15 am

Помогите со скриптом "слияние данных". Суть: задать поле или набор полей, которые будут ключевыми и при загрузке данных обновлять значения полей данными из файла. Я думаю пригодится не только мне, может даже как штатное средство.
Я говорю о следующем: (пример) в таблице есть поля Фамилия, Имя, Отчество, Дата приёма на работу, Дата увольнения, Статус работника, (Работает, Уволен и т.п.), Совместитель, диалоговое окно (в идеале) где выбираются поля и условие их соединения (Фамилия И Имя И Отчество И Совместитель), при загрузке...
P.S. Я уже писал дословно это же в другой теме, сказали надо скриптом.

Аватара пользователя
admin
Разработчик
Сообщения: 3539
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Загрузка данных в базу по условию

Сообщение admin » Чт апр 13, 2017 11:46 am

Не знаю может другие помогут, но лично у меня сейчас нет времени Вам помочь с этим вопросом. Требуется довольно много времени.

jurist23rus
Эксперт
Сообщения: 2167
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Загрузка данных в базу по условию

Сообщение jurist23rus » Чт апр 13, 2017 2:26 pm

Я тоже пас. Слишком трудно, а поэтому слишком долго писать такой скрипт, тем более, что практическая необходимость его использования общественностью очень сомнительна. Народ наоборот стремиться разделять данные, а вы их хотите объединять в одном поле. Это мне кажется не очень верно стратегически. Хотя Вам виднее.
Destiny is a very convenient word for those who never take decisions.

Neko
Новичок
Сообщения: 23
Зарегистрирован: Чт мар 16, 2017 10:54 am
Откуда: Краснодар

Re: Загрузка данных в базу по условию

Сообщение Neko » Пт апр 14, 2017 1:32 am

Почему в одном поле? Разные поля. Просто проверка ведется по набору (сочетанию) этих полей.

Фамилия И Имя И Отчество И Совместитель

Пример:
В базе
Иванов Иван Иванович Основной Работает 10.05.2015
Иванов Иван Иванович Совмещение Работает 10.06.2015

Загружаем
Иванов Иван Иванович Основной Уволен 10.03.2016
Иванов Иван Иванович Совмещение Работает 10.06.2015

На выходе в первой строке Работает меняется на Уволен, меняется дата
Во второй меняется Работает на Работает. Дата на Дату. Как вариант, если значение в загрузке пустое (null?), то значение не меняется.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3375
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: Загрузка данных в базу по условию

Сообщение YurAnt » Вт апр 18, 2017 8:06 am

Тоже стою перед аналогичной задачей синхронизации. И кажется придумал решение.
Имеем список сотрудников. Он у нас главный.
Если рассматривать один файл для совмещения данных, то непонятно где у какого поля и в каком случае приоритет (затереть поле пустым значением или обновить существующим). Эту логику настроить нереально поэтому:
Сделал отдельный список "действия" как подчиненный сотрудникам (аналогичных списков может быть несколько)
Отмечаю: Принят 10.01.2017, Уволен 31.03.2017 загружаю.
Вижу, что он уволен :)
Остается вопрос, как это автоматизировать (каждый раз через импорт-экспорт не очень удобно)
Ну и непонятно как воздействовать на родительский список (например добавить нового сотрудника).
Изображение

sotmel
Интересующийся
Сообщения: 50
Зарегистрирован: Ср мар 14, 2018 2:37 pm

Re: Загрузка данных в базу по условию

Сообщение sotmel » Пт июн 01, 2018 11:35 am

Приведите данные в удобоваримый вид посредством стандартных средств EXEL, определитесь с разделителями данных и разбейте строки на столбцы, после чего сохраните в CSV и стандартным средством импорта грузите в базу.
Я подобным образом уже прогрузил гору архивных сведений прошлых лет из какой-то корявой древней базы, которая данные на экспорт умела готовить с разделителем - запятая.
Тут над нечто подобным пыхтели viewtopic.php?f=39&t=1927&start=60

cordek
Интересующийся
Сообщения: 213
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: Загрузка данных в базу по условию

Сообщение cordek » Сб июн 02, 2018 4:22 pm

Вот тут вполне готовый скрипт, надо только написать свои поля viewtopic.php?f=44&t=1923&start=20#p18098


Вернуться в «Помогите собрать базу!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей