![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 16
|
![]()
Есть следующий код:
... var Form_Contrag: TForm_Contrag; implementation uses Unit_dm1, Unit_Jur_Info; {$R *.dfm} procedure TForm_Contrag.FormCreate(Sender: TObject); begin TreeView1.Items[0].Selected:=true; end; procedure TForm_Contrag.TreeView1GetSelectedI ndex(Sender: TObject; Node: TTreeNode); begin if TreeView1.Items[0].Selected=true or TreeView1.Items[1].Selected=true then begin ---выполняем запрос, который в дбгриде отображает записи гл. табл--- with DM1.Query do begin Close; SQL.Clear; SQL.Add('SELECT j_id, j_kod, j_sname'); SQL.Add('FROM jur'); SQL.Add('ORDER BY j_kod'); Open; end; end; end; --по дбклик на дбгриде открывается форма 2 с данными вторичных таблиц связанных с гл. таблицей----- procedure TForm_Contrag.DBGrid1DblClick(Sende r: TObject); begin try Form_Jur_Info:=TForm_Jur_Info.Creat e(nil); Form_Jur_Info.ShowModal; finally Form_Jur_Info.Free; end; end; -------- проблема: При дбклик на любой записи в дбгриде на первой форме открывается вторая форма, только не с данными связанными с выбранной запиcью, а с данными связанными с первой записью дбгрида на первой форме. Вопрос: Как решить данную проблему????? Заранее благодарен |
![]() |
![]() |
![]() |
#2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
Последний раз редактировалось mihali4; 26.02.2008 в 01:39. |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 16
|
![]()
а можно примерчик "//вот тут для некоего дб контрола мы позиционируем датасет на выбранную запись..." как реализовать позиционирование на Selеcted..?
![]() |
![]() |
![]() |
![]() |
#4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Если
Цитата:
Давайте оставим девичьи гадания - приведите код создаваемой формы Form_Jur_Info. |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 16
|
![]()
unit Unit_Jur_Info;
... type TForm_Jur_Info = class(TForm) ... Перечень дбедитов, дблейбло... ... procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form_Jur_Info: TForm_Jur_Info; implementation uses Unit_dm1, Unit_contrag; {$R *.dfm} procedure TForm_Jur_Info.BitBtn1Click(Sender: TObject); begin ModalResult:=mrCancel; end; end. |
![]() |
![]() |
![]() |
#6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Я у себя попробовал, все нормально - отображаются именно те данные, которые соответствуют "щелкнутой" строке...
Может, вы дбконтролы не на тот датасорс цепляете? Нужно ведь на тот, к которому подцеплен дбгрид... |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 16
|
![]()
Дело в том, что запрос который привязан к дбгриду выводит только данные по трем полям таблицы, а на второй форме 15 едитов привязанных ко всем полям таблицы, тобишь к 15, и при дбклике на дбгриде выдает, сто поле не найдено
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 16
|
![]()
with DM1.Query3 do
begin Close; SQL.Clear; SQL.Add(' SELECT * '); SQL.Add(' FROM jur '); SQL.Add(' where j_id=:chemuto '); DM1.Query3.Params.ParamByName('chem uto').Value:=DM1.Query.fieldbyname( 'j_id').asstring; Open; end; ------------------------ Данный код как бы решает данные вопрос, только нужно делать запросы для каждой из таблиц. Можно ли этот код оптимизировать, чтобы был один зарпрос для всех таблиц? |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 270
|
![]() Цитата:
Сделайте запрос по всем полям, а в гриде отразите только те поля, которые вы хотите в нем видеть. Для этого щелкните правой клавишей мыши на гриде, выберите Columus Editor... и выберите те поля, которые вы хотите отразить в гриде.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько? (с) Библия. Вольный перевод с древнееврейского. |
|
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 25.02.2008
Сообщений: 16
|
![]() Цитата:
Запрос который выполняет "выбрать все из табл1, табл2, табл3, табл4" подвешивает систему и выдает ошибку "Нехватает памяти"!!!! |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связанные списки в C++ | Rembo | Общие вопросы C/C++ | 47 | 11.07.2016 12:45 |
Связанные таблицы в Аксессе | mirawoo | Microsoft Office Access | 8 | 12.03.2008 00:13 |
Не отображаются новые собщения | Master-Skull | О форуме и сайтах клуба | 0 | 19.08.2007 13:41 |
MS SQL server 2000, ADO. Добавленые записи не отображаются при последующих запросах. | _victor | БД в Delphi | 1 | 17.06.2007 13:33 |