На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> слияние 2 таблиц Paradox , При слиянии пропадают записи
    Доброго времени суток! Столкнулся с такой проблемой: есть 2 таблицы Paradox с идентичной структурой. Есть задача объединить данные этих таблиц в одной.
    структура таблиц:
    № п/п ФИО Дата рождения .......
    проблема в том, что обе таблицы начинаются с № п/п = 1 т.е.
    таблица 1

    № п/п ФИО Дата рождения .......
    1 Куприн 12.04.86
    2 Пушкин 11.08.90

    таблица 2

    № п/п ФИО Дата рождения .......
    1 Агапов 12.01.88
    2 Пупов 21.04.91

    надо произвести слияние этих таблиц. Пробовал через batchmove, но сразу столкнулся с проблемой: выдает ошибку насчет 1 поля (№ п/п) происходит замена полей таблицы полями другой. Как сделать переиндексацию по 1 полю, чтобы в результате получить:

    таблица 1

    № п/п ФИО Дата рождения .......
    1 Куприн 12.04.86
    2 Пушкин 11.08.90
    3 Агапов 12.01.88
    4 Пупов 21.04.91

    Заранее спасибо!
      Поле № п/п - автоинкрементное?
        ExpandedWrap disabled
          insert into table_1 ('ФИО','Дата рождения',...) select 'ФИО','Дата рождения',... from table_2
        Сообщение отредактировано: Bas -
          нет. № п/п прописывается пользователем
            Узнаешь в первой таблице максимальное значение ИД. Вставляешь его сюда и вперед:
            ExpandedWrap disabled
              insert into table_1 ('№ п/п','ФИО','Дата рождения',...) select '№ п/п' + Max_ID, 'ФИО','Дата рождения',... from table_2
              это если делать копию через query. я же использую BatchMove. Как быть в этом случае?
                Цитата Villain5000 @
                я же использую BatchMove. Как быть в этом случае?

                ExpandedWrap disabled
                  insert into table_3 ('№ п/п','ФИО','Дата рождения',...) select '№ п/п' + Max_ID, 'ФИО','Дата рождения',... from table_2

                А после этого сливай первую и третью таблицы своим тулом BatchMode.
                  Цитата Villain5000 @
                  я же использую BatchMove. Как быть в этом случае?

                  Заполните свойство Maping не указывая '№ п/п', а потом
                  Цитата MIF @
                  Узнаешь в первой таблице максимальное значение ИД.

                  И заполняешь пустые.

                  Добавлено
                  Еще вариант создаешь таблицу с автоинкрементным полем сливаешь все туда и, из первой все удаляем, и записываем туда из слитой таблицы.
                  Цитата Villain5000 @
                  BatchMove

                  Я думал что его все забыли и выкинули.
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0594 ]   [ 17 queries used ]   [ Generated: 26.04.24, 02:34 GMT ]