Помогите пожалуйста победит between в запросе, я что то пишу не так, только не могу понять что.
Код:
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 Like :Num_Start and Like :Num_End' );
Parameters.ParamByName('Num_Start').Value := Num_S + '%';
Parameters.ParamByName('Num_End').Value := Num_E + '%';
Open;
end;
end;