13.04.2013, 20:55
|
Начинающий
|
|
Регистрация: 14.01.2011
Сообщения: 171
Версия Delphi: 7
Репутация: 10
|
|
вот полный код
Код:
procedure Tf_BSO_Otchet.bt_SQLClick(Sender: TObject);
var
Num_S, Num_E: string;
begin
if Length(tb_S_Ser.Text) = 1 then
begin
Num_S := tb_S_Ser.Text + '/' + tb_S_Num.Text;
Num_E := tb_E_Ser.Text + '/' + tb_E_Num.Text;
end
else
begin
Num_S := tb_S_Ser.Text + tb_S_Num.Text;
Num_E := tb_E_Ser.Text + tb_E_Num.Text;
end;
With Q_Otchet do
begin
Close;
SQL.Clear;
Parameters.Clear;
SQL.Add('SELECT BSO.ID, Vid_Blanka.Name_Vid_Blanka, BSO.Num, Status_BSO.Name_Status, Kontragent.Sokr_Name, BSO.D_Per');
SQL.Add('FROM Status_BSO RIGHT JOIN (Kontragent RIGHT JOIN (Vid_Blanka RIGHT JOIN BSO ON Vid_Blanka.ID = BSO.f_Vid_Blanka) ON Kontragent.ID = BSO.f_Der) ON Status_BSO.ID = BSO.f_Status_BSO');
SQL.Add('WHERE BSO.Num BETWEEN iif(:Num_Start is null, Num, :Num_Start) and iif(:Num_End is null, Num, :Num_End)' );
Parameters.ParamByName('Num_Start').Value := Num_S;
Parameters.ParamByName('Num_End').Value := Num_E;
Open;
end;
end;
в комботы ничего не пишу, сразу жму на выполнение запроса. Должны выйти все строки таблицы.
|