![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объединение несколькихбаз в одну [Paradox]
Evgeny7 © (2002-07-16 13:48:00)Суть проблемы: Существует несколько баз Paradox которые необходимо время от времени объединять в одну. У всех баз одинаковая структура, но так как она постоянно меняется приходиться постоянно переписывать программу объединения. КАК сделать, чтобы постоянно не переписывать программу.
Evgeny7 (2002-07-18 11:24:00) [1]Да гемморой великий, так как я сопровождаю один около 40 юзеров и от разработчиков программ в нашей конторе понимания проблем не дождёшся, вот по этому такие проблемы решаю сам. А на счет совпадения каких либо кодов всё очень просто, по мимо табельного номера, у каждого человека есть номер цеха и другие идентификаторы (типа кода проффесии и т.д.), совокупность которых всегда остаётся уникальной, так что проблема решена.
Sergey13 (2002-07-18 10:24:00) [2]2Evgeny7 (18.07.02 09:51)
Ну про Иванова и Петрова я написал для примера. Это понятно, что у них табельный номер(PK) есть. Но вот у какой нибудь выплаты или надбавки тоже есть какой нибудь PK-код. Как быть с их совпадением. В общем - как обстоят дела со справочной информацией? Справочники ведутся централизованно или ДЕцентрализованно? Если второе - то получается большой геморой именно с ними. Для примера код выплаты 45 в одном цехе соответствует сверхурочным работам, в другом доплате за многодетность.
А вообще, как говорится - флаг в руки. Я бы так вопрос решать не стал. Все это временно-вынужденные меры - тут надо бороть не следствие, а причину, ИМХО. И если смотреть на проблему глобально, то пора вам задуматься о переходе на нормальные технологии. Все на SQL!!! 8-)
Evgeny7 (2002-07-18 09:51:00) [3]Такой проблемы нет, потому как у Иванов И.И. и Петров П.П. есть табельный номер, а они у всех разные, а ссылки на другие таблицы организованны именно по табельным номерам.
Sergey13 (2002-07-18 09:37:00) [4]2Evgeny7 (17.07.02 13:04)
А как ты решаешь проблему идентификаторов например? Или такой проблемы нет? Это когда ведется список чего нибудь и этому "чего нибудь" автоматичеки присваивается код. В одном цехе например коду 1 соответствует Иванов И.И. а в другом Петров П.П. При слиянии получится два кода 1. На этот код существуют данные в других таблицах - например зарплата. Или это не актуально?
Evgeny7 (2002-07-17 13:04:00) [5]Создал копию таблицы примерно так:
with Table2 do begin
Close;
FieldDefs:=Table1.FieldDefs;
DataBaseName:=Table1.DatabaseName;
TableName:="C:\table\NEWTABLE.DBf";
CreateTable;
Open;
А дальще просто скопировал в нее данные из исходных таблиц.
Sergey13 (2002-07-17 10:39:00) [6]Замечаю я - входит в моду такого рода завершения дискуссий. "Спасибо я решил". А как решил, что решил- не писать. Когда совета спрашивал - не в лом было описывать проблему, когда нашел решение - в лом его описать. Не по жентельменски как то.
8-(((
ЗЫ: Но это наверное в "Потрепаться"
Evgeny7 (2002-07-17 10:26:00) [7]Спасибо за помощь, я нашёл выход.
Sergey13 (2002-07-17 10:16:00) [8]Постарайся, чтобы "программисты внимая жалобам и пожеланиям пользователей и начальства" внимали бы и твоим "жалобам и пожеланиям". Проблема в данном случае скорее административного плана, чем программного. Так и будешь мучаться.
Evgeny7 (2002-07-17 10:01:00) [9]Я поддерживаю программы написанные другими программистами нашей конторы, и эти программисты внимая жалобам и пожеланиям пользователей и начальства постоянно обновляют уже написанные и работающие программы то и дело меняя структуру таблиц, добавляя поля, а мне в ломы каждый раз подстраиваться под эти изменения, кто их знает, чего они в следующий раз прикрутят.
Sergey13 (2002-07-17 08:55:00) [10]2Evgeny7 (17.07.02 07:42)
Че-то ты сам себе противоречишь. То структура данных меняется постоянно, то имеется уже "существует работающая программа (которую делал не я)". Как она работает с "постоянно" меняющейся структурой?
Evgeny7 (2002-07-17 07:42:00) [11]Переделать на SQL нет возможности, так как уже существует работающая программа (которую делал не я). Несколько пользователей (10), каждый из них в конце месяца формирует по своему цеху файл для налоговой отчётности, все эти файлы необходимо объеденить в один и получить конечный файл формата dbf.
Eugene Lachinov (2002-07-16 17:16:00) [12]Используй TBatchMove, Mappings строиться по полям, которые есть в объединяемых таблицах
AlexGreG (2002-07-16 15:56:00) [13]Согласен
Sergey13 (2002-07-16 14:24:00) [14]Переделать на SQL и работать с одной базой.