Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.168] |
|
Сообщ.
#1
,
|
|
|
Добрый вечер. Записи добавляются только на 1 таблицу на форме №1.
Дело так: на форме "Добавление записей" несколько DBEdit для разных таблиц и кнопка "Сохранить". Код в этой кнопке: ADOQuery1.Insert; if ADOQuery1.Modified then ADOQuery3.Post; //этот код меняет существующие записи во 2-ой таблице в форме №2(то, чего удалось добиться), но не создает новые ADOQuery3.Insert; modalResult:=mrOk; Этот код меняет только существующую запись (или добавляет новую в 1 таблицу. Естественно на форме №1 есть кнопка, которая создает новую запись в 1 и 2 таблицах). При добавлении новой записи в форму №2 меняется 1-ая строка в 2 таблице, а новая почему-то не добавляется. А мне нужно, чтоб создавалась своя строка. Таблицы у меня подключены через ADOQuery, а данные из Access. Мои попытки: я создала связи между таблицами в Delphi (т.к. в начале компилятор ругался на отсутствие связей). ADOQuery3.Close; ADOQuery3.Parameters[0].Value:=ADOQuery1.FieldByName('Kod').Value; ADOQuery3.Open; Код в SQL: SELECT * FROM Table1 WHERE Table1.Kod=:Kod Но данные из Access вообще не выводятся. Кроме этого, когда я нажимаю кнопку "Добавить запись" возникает ошибка: adoquery1: cannot perform this operation on a closed dataset Я не знаю, что еще можно предпринять, помогите пожалуйста... |
Сообщ.
#2
,
|
|
|
в DBEdit указывается один DataSource, чтобы сохранялось в другую таблицу то, что в него введено, нужно это указать уже руками. Например:
Adoquery3.insert; Adoquery.FieldByName('Name_field').asString:=dbedit.text; Adoquery3.post; Насчет закрытого датасета, мб забыли открыть query на событии oncreate DataModule? Прикреплённый файлScreenshot_3.png (11,21 Кбайт, скачиваний: 857) |