Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.05 c
3-1123827257
leha
2005-08-12 10:14
2005.09.25
Картинка в поле БД


14-1125419302
Иксик
2005-08-30 20:28
2005.09.25
Золотой фонд советского кино


1-1125651518
Talant
2005-09-02 12:58
2005.09.25
все ссылки в memo


3-1123757311
Marat
2005-08-11 14:48
2005.09.25
Долгий поиск


14-1125157557
Piter
2005-08-27 19:45
2005.09.25
Конвертирование файлов FLV





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский