Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать, изменилась ли ячейка? ; ;вопрос2:BatchMove ??? [D5, dBase, FoxPro]


NDR ©   (2002-07-17 20:45:00) 

Уважаемые мастера!

Вопрос1:
Таблица(база: pharm.dbf) имеет последнее поле OTM
Если хоть какое поле текущей записи изменилось то в поле OTM
данной записи ставится значение="1"
Вобщем нужно какоето событие. что ловит изменения в ячейке.
может есть такое ?

Дальше нужно будет выгружать записи в две таблицы.
1)только новые (проверяем поле ОТМ)
перебираем подряд все записи. если значение поля ОТМ=1
но выгружаем, если =нулю, то пропускаем.
2)все записи без исключения.

Вопрос1:
основная база pharm.dbf (53 тысячи записей.)
Как лучше копировать записи из одной базы в другую.
1)нужно будет копировать все записи (но не все поля) без исключения даже если некоторые поля пусты.
2)копировать только те записи в поле ОТМ которых значение 1 (или true)


NDR   (2002-07-17 22:31:00) [1]

Поправлюсь. sorry
вопервых.

Доброе время суток!

Существует некая база "1" (pharm.dbf)
с полями (cdprep,nmprep,form,cdgroup,lastdate)
и база "2" (original.dbf) с похожей структурой
с полями (cdprep,nmprep0,nmprep,form0,form,cdgroup,lastdate,otm)

1)
Нужно из базы "2" в базу "1" все скопировать записи.
form1.table2.Fields["cdprep"].text:=form1.table1.fields["cdprep"].text;
form1.table2.Fields["nmprep0"].text:=form1.table1.fields["nmprep"].text;
form1.table2.Fields["form0"].text:=form1.table1.fields["form"].text;
form1.table2.Fields["cdgroup"].text:=form1.table1.fields["cdgroup"].text;
form1.table2.Fields["lastdate"].text:=form1.table1.fields["lastdate"].text;

2)Скопировать только те записи в поле OTM которых значение 1

Вот я и спрашиваю как лучше это сделать?
Если использовать компонент MatchMove,
как выбрать синхронизировать поля, какие мне нужно(см.выше)
а то идет копирование в лоб. все данные полей сдвигаются.
подскажите пожалуйста...


NDR   (2002-07-17 22:12:00) [2]

z negjhsksq ghblehjr. z ghjcnj ytghfdbkmyj dshfpbkcz bpdbybnt
выражаясь русским языком....

ВЫ СОВЕРШЕННО ПРАВЫ

=/


MsGuns   (2002-07-17 21:32:00) [3]

Прежде всего следует отделить мух от котлет:
Итак, мухи:
Любое изменение любого поля таблицы "ловится" событием TDataSuorce.OnStateChange. Если надо ловить изменение какого-то конкретного поля НД, то событие TField.OnDataChange (или что-то вроде этого)
Котлеты: не понятно вообще копирование ВСЕЙ БД откуда-то куда-то. Похоже, что ты или неправильно выразился, или тут явно какой-то маразм. Выходит, что после КАЖДОГО сеанса КАЖДОГО юзера надо из одной цистерну в другую переливать кучу дерьма ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо