|
Вопрос # 4 620/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты! Я снова обращаюсь к вам за помощью. У меня 2 таблицы связанные друг с другом(один ко многим). И я через форму добавляю данные.
Фото:
http://pics.kz/s4/c6/0d/fc/c60dfc5e04f4ba12b9834be83c5f4146.jpg
Но когда я нажимаю на кнопку, все поля полностью не заполняется. Я здесь загрузил маленький видео ролик, посмотрите пожалуйста. http://files.gameworld.kz/ntcmrn71kv.html
Заранее большое спасибо.
А код у меня такой:
Приложение: Переключить в обычный режим- frmdolzhniki.ADOTable1.Insert;
- frmdolzhniki.ADOTable2.Insert;
- FrmDolzhniki.ADOTable2.FieldByName('Naimenovanie').AsString:=Frmprodatdolg.DBEdit1.Text;
- FrmDolzhniki.ADOTable2.FieldByName('Kolichesnvo').AsString:=Frmprodatdolg.Edit1.Text;
- FrmDolzhniki.ADOTable2.FieldByName('Cena').AsString:=Frmprodatdolg.DbEdit2.Text;
- FrmDolzhniki.ADOTable1.FieldByName('Fio').AsString:=Frmprodatdolg.DBEdit3.Text;
- FrmDolzhniki.ADOTable1.FieldByName('Adres').AsString:=Frmprodatdolg.Edit3.Text;
- FrmDolzhniki.ADOTable1.FieldByName('Domtel').AsString:=Frmprodatdolg.Edit4.Text;
- FrmDolzhniki.ADOTable1.FieldByName('Mobtel').AsString:=Frmprodatdolg.Edit5.Text;
 |
Вопрос задал: Ермаханов Айбек (статус: Посетитель)
Вопрос отправлен: 28 сентября 2010, 18:05
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 6; последнее сообщение — 30 сентября 2010, 14:12; участников в обсуждении: 3.
|
Vic (статус: 1-ый класс), 30 сентября 2010, 12:10 [#1]:
А по какому полю связаны эти таблицы?
|
|
Ермаханов Айбек (статус: Посетитель), 30 сентября 2010, 12:44 [#2]:
Vic: По полю Fio. Если есть ссылки на учебники, примеры где можно почитать как добавить запись двум связанным таблицам, не могли бы поделиться?
|
|
Вадим К (статус: Академик), 30 сентября 2010, 13:24 [#3]:
а в чем проблема? логично понятно, что нужно вначале в одну добавить, потом в другую. Логично, что вначале нужно добавить в ту таблицу, которая не требует полей другой таблицы, а потом получив id, можно добавить и во вторую. (наоборот - никак, разве что вначале добавить фиктивный id).
В коде, который приведет в вопросе обе таблицы модифицируются одновременно. и вызовов
FrmDolzhniki.ADOTable2.post;
FrmDolzhniki.ADOTable1.post;
я не вижу, а без них ничего не сохранится.
Если я правильно понял Ваш код, то вам вначале нужно заполнить первую таблицу, а потом уже вторую, забрав с первой таблицы id.
И второе, скорее всего, что должники будут повторятся, поэтому следует предусмотреть выбор должника либо добавление нового. А потом добавление ему "долга". Заполнять это на одной форме - как то не то.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Vic (статус: 1-ый класс), 30 сентября 2010, 13:48 [#4]:
это не правильно
у таблицы 1 должно быть ключевое поле (первичный ключ)
по этому полю и надо связать обе таблицы
в таблице 2 должно быть поле внешнего ключа
допустим в таблице 1 поле id
в таблице 2 id_tbl1
и прежде чем заполнить 2 таблицу надо вначале заполнить 1-ю
считать значение id
а затем уже заполнять 2-ю таблицу
|
|
Ермаханов Айбек (статус: Посетитель), 30 сентября 2010, 14:12 [#6]:
Спасибо Всем за ответы. Все сделано!!!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|