Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2015, 14:33   #1
SGroot
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 15
По умолчанию Форма с таблицей

Добрый день, немного информации)

БД Access компоненты ADOConnection, DataSource, ADOQuery, DBGrid.

Form1 (главная форма)
Form2 (форма добавления)
Form3 (форма добавления записи в таблицу в Form2)

Есть таблица Form1 в которую добавляются записи через Form2. Суть в том, что в Form2 есть еще мини таблица (DBGrid) в которую добавляю записи через Form3. Кратко говоря надо чтобы при заполнении в Form2 таблицу, как-то привязывалась к ID (к записи в Form1).

Помогите пожалуйста, очень нужно и в дальнейшем уже легче будет реализовывать подобное. Может пример есть какой-нибудь.
Вложения
Тип файла: rar project1bd.rar (351.9 Кб, 7 просмотров)
SGroot вне форума Ответить с цитированием
Старый 08.06.2015, 16:53   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Код:
Form3.Show;
Form2.ADOQuery1.Insert;
теперь НАДО заполнить поле указывающее на родителя
Код:
form2.ADOQuery1.filedbyname('xxx').value:=  //А чей ребенок собственно говоря это будет
                                         form2.Dbedit1.Field.Dataset.FieldByName('zzz').Value; // как-то  узнать а кто-же родитель
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 08.06.2015 в 16:58.
evg_m вне форума Ответить с цитированием
Старый 08.06.2015, 18:40   #3
SGroot
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 15
По умолчанию

спасибо, сделал через ADOTable, с ADOQuery что-то не получилось немножко)

И еще таблица "Дети" в Form2 не заполняется, сначала ввожу имя Родителя и нажимаю ОК, потом опять открываю запись "Кнопка Изменить" и тогда заполняется, но когда нажимаю ок, то выходит ошибка, а когда просто закрываю, то все сохраняется. wtf?!
Вложения
Тип файла: rar project1bd.rar (354.9 Кб, 8 просмотров)
SGroot вне форума Ответить с цитированием
Старый 09.06.2015, 14:49   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
но когда нажимаю ок, то выходит ошибка, а когда просто закрываю, то все сохраняется. wtf?!
Потому что при нажатии OK пытаемся сохранить изменения (в таблице родители) которых не было.
Код:
Form1.AdoTable1.Post;
команда Post перед которой НЕ БЫЛО Insert(или Edit).

Редакцию данных лучше делать так
ПРИНЦИП: где НАЧАЛИ редакцию(в данном Insert) ТАМ ЖЕ (в той же процедуре) ее и закончили.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTAble1.Insert; // открываем редакцию (в данном случае добавление) но может быть и Edit
if Form2.ShowModal=mrok then  //показываем форму редакции и ЖДЕМ пока ее не закроют (так работает ShowModal !)
  ADOTable1.Post;//И ПО ВОЗВРАЩЕНИИ(закрытию form2) сохраняем 
end;


procedure TForm2.Button1Click(Sender: TObject);
begin
modalresult:=mrok;// говорим что все нормально (в принципе этого достаточно)  
Form2.Close; // и в таком разе это не нужно.
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
//аналогично
Form2.ADOTAble1.Insert; //добавляем
Form2.ADOTAble1.FieldByName('ID_d').value:=Form2.Dbedit1.Field.Dataset.FieldByName('ID').Value; // заполняем
if Form3.ShowModal=mrok then // показываем и ждем
  Form2.ADOTable1.Post; //сохраняем
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
modalresult:=mrok;
Form3.Close;
end;
Цитата:
И еще таблица "Дети" в Form2 не заполняется
чтобы добавить ребенка нужен ID родителя, а он "появляется" только после выполнения команды Post.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПЕрвая форма, кликая по кнопке, другая форма Nadej C++ Builder 0 02.10.2011 17:58
Проблема с таблицей. Vervolf HTML и CSS 3 02.08.2011 19:09
Помогите с таблицей Wirm Microsoft Office Excel 14 06.06.2009 00:46
работа с таблицей photozaz БД в Delphi 4 27.09.2008 21:29
Помагите с таблицей Римма БД в Delphi 2 31.08.2007 14:09