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

Вниз

Kaк добавить запись в подчиненную табл. в сеансе Append-a главной   Найти похожие ветки 

 
DBDev   (2003-06-05 12:04) [0]

Имеем: Т1.KeyID = T2.ID В одном сеансе (окне) делаем:

T1->Append();
T1->FieldByName("F1")->AsString = "VALUE";
T2->Append();
T2->FieldByName("F1")->AsString = "VALUE";
T2->FieldByName("ID")->AsInteger = T1->FieldByName("KeyID")->AsInteger;
T2->Post();
T1->Post();


Но ес-но на момент T1->FieldByName("KeyID")->AsInteger есть величина равная 0 и ничего не поделать.

Конечно можно и так:

T1->Append();
T1->FieldByName("F1")->AsString = "VALUE";
T1->Post();

T1->Edit();
T2->Append();
T2->FieldByName("F1")->AsString = "VALUE";
T2->FieldByName("ID")->AsInteger = T1->FieldByName("KeyID")->AsInteger;
T2->Post();
T1->Post();


Этот способ мне кажется ущербным, а есть ли способ поправильней...

Подскажите пожалуйста...


 
ladybird   (2003-06-05 12:08) [1]

так как KeyID это autoincrement поле, то его значение
для новой записи вы получаете от сервера после сохранения


 
DBDev   (2003-06-05 12:11) [2]

2 ladybird.
Это я знаю. Но ведь должен быть способ...


 
Johnmen ©   (2003-06-05 12:12) [3]

>Этот способ мне кажется ущербным, а есть ли способ поправильней...

Мне не кажется...:) А это лишнее :
T1->Edit(); и последующее T1->Post();


 
DBDev   (2003-06-05 12:16) [4]

2 Johnmen: Идея! Ведь есть же процедура извлекающая следующее значение autoincrement ключа, только не помню как называется...

Может ею?


 
DBDev   (2003-06-05 12:17) [5]

Ведь надо как-то все добалять с одной формы - юзер требует!
Неужели никто не сталкивался с такой задачей??



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-97552
rosl
2003-06-07 10:35
2003.06.30
сортировать записи, вставить дату


4-97934
APanyovin
2003-04-26 14:44
2003.06.30
Запуск зарегистрированного разрешения *.doc, *.xls, ///


3-97499
vvvvv
2003-06-05 11:51
2003.06.30
Из списка драйверов пропал Oracle. Как восстановить?


1-97644
e}{e
2003-06-19 01:31
2003.06.30
ошибка времени выполнения 105


11-97560
SPeller
2002-10-08 01:14
2003.06.30
KOL & MCK 1.53 !