powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как завязать Query и Table?
3 сообщений из 3, страница 1 из 1
Как завязать Query и Table?
    #32032923
Bzum@rambler.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На одной форме -таблица,DoubleClick по ячейке и на
другой форме -выборка из другой таблицы по TabelID (уник.поле первой таблицы) .Как это?
Пробовал DBGrid.Selectedrows[],рядом но не то.
Вариант со связанными таблицами понятен,а как по выделенной строке выщемить ,да еще и по полю определенному.
Помогите пожалуйста,вопрос жизни и смерти.
Виталий.
...
Рейтинг: 0 / 0
Как завязать Query и Table?
    #32033018
Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dv_vostr@mail.ru
Если заранее известно ключевое поле в 1-м Recordset, то можно использовать Lockup связи, если нет, то у TColumn есть свойство - FieldName, а у TTable - Filter & Filtered

Небольшой примерчик написанный на коленке. Может и работать, но главное идея.

procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
FieldName, Filter: String;
Field: TField;
Value: Variant;
begin
if Sender is TColumn then
begin
Field := (Sender as TColumn).Field;
Value := Table1.FieldByName(Field.FieldName).Value;
case Field.DataType of
// Контроль за типом поля
ftString: Filter := Field.FieldName + '="' + Value + '"';
ftInteger: Filter := Field.FieldName + '="' + IntToStr(Value) + '"';
end;
Table2.Filter := Filter;
Table2.Filtered := True;
end;
end;
...
Рейтинг: 0 / 0
Как завязать Query и Table?
    #32033019
Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dv_vostr@mail.ru
Если заранее известно ключевое поле в 1-м Recordset, то можно использовать Lockup связи, если нет, то у TColumn есть свойство - FieldName, а у TTable - Filter & Filtered

Небольшой примерчик написанный на коленке. Может и работать, но главное идея.

procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
FieldName, Filter: String;
Field: TField;
Value: Variant;
begin
if Sender is TColumn then
begin
Field := (Sender as TColumn).Field;
Value := Table1.FieldByName(Field.FieldName).Value;
case Field.DataType of
// Контроль за типом поля
ftString: Filter := Field.FieldName + '="' + Value + '"';
ftInteger: Filter := Field.FieldName + '="' + IntToStr(Value) + '"';
end;
Table2.Filter := Filter;
Table2.Filtered := True;
end;
end;
А вообще - Мыль (dv_vostr@mail.ru)- поговорим
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как завязать Query и Table?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]