![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Код:
var
type_spiska_int:integer;
begin
type_spisok:=ADODataSet2.FieldValues['number'];
ADODataSet3.Active:=False;
ADODataSet3.Parameters.ParamByName('kod_pribor').Value:=kod_prib;
ADODataSet3.Active:=true;
ADODataSet3.First;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from Параметры where kod_type_pribor=:kod_pribor_DS3 and text=:text_DS3 and index=:index_DS3 and type_spiska =:type_spiska_DS3');
while not ADODataSet3.Eof do
begin
type_spiska_int:=ADODataSet3.FieldByName('type_spiska').AsInteger;
if (type_spiska_int and type_spisok)<>0 then
Begin
ADOQuery1.Parameters.ParamByName('kod_pribor_DS3').Value:=ADODataSet3.FieldValues['kod_type_pribor'];
ADOQuery1.Parameters.ParamByName('text_DS3').Value:=ADODataSet3.FieldValues['text'];
ADOQuery1.Parameters.ParamByName('index_DS3').Value:=ADODataSet3.FieldValues['index'];
ADOQuery1.Parameters.ParamByName('type_spiska_DS3').Value:=ADODataSet3.FieldValues['type_spiska'];
End;
ADODataSet3.Next;
end;
ADOQuery1.Active:=True;
end;Последний раз редактировалось lmikle, 25.08.2013 в 07:16. |
|
#2
|
|||
|
|||
|
Ну все правильно выводится. По другому и не будет, т.к. каждая следующая итерация цикла сбрасывает результат предыдущей.
Тебе надо так построить запрос, что бы он вернул все записи за один вызов. Можно просто сделать JOIN с главной таблицей, а показать только поля присоединенной. А вообще, есть такой тип отображения - Msdter-Detail называется. Там 2 грида, при выборе записи в Master-гриде, а Detail-гриде автоматически выводятся соответвующие записи из вротой таблицы... может этого ты хотел на самом деле? |
|
#3
|
|||
|
|||
|
решил пойти другим путем
select type_spiska, kod_type_pribor from Параметры where kod_type_pribor=kp and IF type_spiska & ts=ts then type_spiska=type_spiska else type_spiska=-1 end проблема в конструкции if then else помогите разобраться |