Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Изменения значения отдельной ячейки в двох таблицах   Найти похожие ветки 

 
Death_R   (2005-08-15 18:21) [0]

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


 
Desdechado ©   (2005-08-15 19:00) [1]

сменить структуру БД, применив правила нормализации


 
Anatoly Podgoretsky ©   (2005-08-15 21:12) [2]

Два раща подряд.


 
Mike Kouzmine ©   (2005-08-15 23:11) [3]

На 1 изменяемое поле поставь onChange или Before(After)Post, по обстоятельствам, и изменяй там 2 поле. А вообще см 1.


 
evvcom ©   (2005-08-16 08:47) [4]

Все татары кроме я. :)

> мне нужно чтобы поменялось значение этого же поля в этой
> же записи в другой таблице

В другой таблице нет ЭТОГО же поля ЭТОЙ же записи. Могут быть другие, аналогичные, но не ЭТИ же.


 
Death_R   (2005-08-16 10:14) [5]


> Desdechado ©   (15.08.05 19:00) [1]
> сменить структуру БД, применив правила нормализации

В моем случае это не применимо, т.к. у меня первая таблица используется как некий шаблон по умолчанию, но мне нужно чтобы при изменении в ней менялись значения в другой таблице!!!!


> Mike Kouzmine ©   (15.08.05 23:11) [3]
> На 1 изменяемое поле поставь onChange или Before(After)Post,
> по обстоятельствам, и изменяй там 2 поле. А вообще см 1.

Пробывал, но при вставке кода в обработчик блокируется поле с которого вызывается обработчик


> evvcom ©   (16.08.05 08:47) [4]

Привожу пример.
В первой талице есть запись с ID=125 и во второй таблице есть запись с ID=125. В обеих таблицах есть поле WORK..........


 
Sergey13 ©   (2005-08-16 10:18) [6]

2[5] Death_R   (16.08.05 10:14)
> Пробывал, но при вставке кода в обработчик блокируется поле с которого вызывается обработчик
Приведи код.


 
evvcom ©   (2005-08-16 10:23) [7]


> Привожу пример.

Я то понял. Только это все равно не ОДНИ и ТЕ же записи, это аналогичные записи.

> у меня первая таблица используется как некий шаблон по умолчанию

Что же это за шаблон такой? Вообще-то при смене шаблона данные в рабочих таблицах меняться не должны. Вероятно, то, что тебе надо, в БД принято называть справочником. Что такое нормализация тебе известно? И почему всем это подходит, а тебе нет?


 
Anatoly Podgoretsky ©   (2005-08-16 10:29) [8]

Death_R   (16.08.05 10:14) [5]
Это называется Cascade Updates, так как dBase не поддерживает внешних ключей и такого типа обновлений, то ты должен делать такое поведение сам, ручками, делая обновление два (много раз) подряд во всех связаных таблицах. Удобно для этого использовать SQL запросы.


 
evvcom ©   (2005-08-16 10:50) [9]


> Это называется Cascade Updates

Телепат!? Я этого не углядел :(
2 Death_R: Надо апдейтить foreign key (FK) при апдейте primary key (PK)? А зачем менять PK?


 
Desdechado ©   (2005-08-16 10:58) [10]

Шаблон - это такая штука, на основании которой происходит ПЕРВОНАЧАЛЬНОЕ заполнение или создание чего-то. Потом это "что-то" живет уже своей жизнью, и изменение шаблона никоим образом не должно на "что-то" влиять.

Посему, если не хочешь менять структуру, меняй логику.
Хотя, по сути, они взаимосвязаны. Такой себе Cascade Updates в мозгах :)


 
Death_R   (2005-08-16 18:21) [11]


> Sergey13 ©   (16.08.05 10:18) [6]


В onChange пробывал следующий код:

if dm.t1.locate("IDEN", "P_IDEN", []) then
 dm.t1.FiledByName("имя поля").value := TField(Sender).value;

после чего поле в таблице блокировалось.



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-1125570789
dr Tr0jan
2005-09-01 14:33
2005.09.25
Хранение строки в памяти


1-1125396434
Shakal
2005-08-30 14:07
2005.09.25
Плейлист в Delphi?


14-1125312326
QwertyKz_
2005-08-29 14:45
2005.09.25
логотипы к программе компьютерного тестирования


4-1122522944
Vintik
2005-07-28 07:55
2005.09.25
ReadDirectoryChangesw


14-1125609338
KilkennyCat
2005-09-02 01:15
2005.09.25
2 сентября. С Днем рождения!