Показать сообщение отдельно
  #18  
Старый 13.04.2013, 20:55
DOR DOR вне форума
Начинающий
 
Регистрация: 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;
в комботы ничего не пишу, сразу жму на выполнение запроса. Должны выйти все строки таблицы.
Ответить с цитированием