В какой базе лутше сравнивать импортированые из EXCEL данные

Тема в разделе "Базы данных", создана пользователем diss1dent, 5 июн 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. diss1dent

    diss1dent Создатель

    Регистр.:
    24 май 2012
    Сообщения:
    36
    Симпатии:
    1
    Что нужно: импортировать из excel данные ( как во вложении)
    2012-06-05_160904.png
    каждый раз в новую таблицу с названием по месяцам (допустим первый импорт май и название таблицы май, второй импорт июнь и название таблицы июнь и тд.), и по столбику іd при импорте сравнивать нет ли во всей базе уже такой же строчки с таким же іd и если есть то перезаписывать ее в старый месяц а в новый не записывать вообще.
    Что пробовал: Импорт данных в Ассess 2010, на стадии как на картинке жму ок и ничего не происходит, табличка закрылась и все..
    2012-06-05_162246.png
    Как быть?
     
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Реализуем на MySQL... Элементарно...
    а) ID - уникальный ключ, автоинкримент. Два раза записать с 1 ID уже не получится...
    б) Добавляем ключевое слово IGNORE - если запись с таким ID уже есть - она не записывается
    в) В поле даты ставим текущую дату
    г) Прогоняем базу ещё раз, но не Insert, а UPDATE - обновляем все данные, кроме даты, по указанному ID
    д) Профит

    если принципиально разделить по месяцам - SELECT * FROM table WHERE `date`="май" и в цикле пишем в другую базу, хотя, это бесполезно - мы и так по дате можем сортировать сколько влезит...

    Работает если ID уникальные и не меняются от версии к версии...
     
    diss1dent нравится это.
  3. sparsame

    sparsame Постоялец

    Регистр.:
    20 авг 2011
    Сообщения:
    85
    Симпатии:
    11
    вообще все делается в екселе причем не все уже так сложно...конечный результат тоже в екселе будет или его надо будет куда-то импортировать?:
     
  4. diss1dent

    diss1dent Создатель

    Регистр.:
    24 май 2012
    Сообщения:
    36
    Симпатии:
    1
    вы имеете ввиду копировать данные рядом, и сравнивать формулой "счетесли" поле ид, фильтровать автофильтром и потом добавлять вниз то что отфильтровалось... а как же мне перезаписать строчку там где ид повторяеться? там очень много данных будет... вручную копипастить не охота.... Вариант с мускулом мне понравился в конце месяца буду пробывать...
     
  5. sparsame

    sparsame Постоялец

    Регистр.:
    20 авг 2011
    Сообщения:
    85
    Симпатии:
    11
    выстраивайте ид по увеличению, если одинаковые то просто удаляете...
    Что касается в целом базы то советую вам ее сделать под делфи( или шарп кому что нравится) будет он формировать и отчеты какие вам нужны и сам будет удалять одинаковые поля....да и в дальшейшем легче вам будет с базой работать....
    Вы формулы используете? почему ексель? Если есть желание и возможность могу помочь с реализацией программного продукта...
     
  6. Kema

    Kema Создатель

    Регистр.:
    18 май 2014
    Сообщения:
    10
    Симпатии:
    1
    ВПР позволяет найти данные в исходной таблице и вывести их в любой ячейке новой таблицы. Основные условия работы данной функции:
    Наличие одинаковых элементов в сопоставляемых таблицах (например, код товара, фамилия сотрудника и т.д.).
    Сопоставляемые данные в исходной таблице должны быть отсортированы по возрастанию.
     
Статус темы:
Закрыта.