|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
SQL запрос с диапазоном дат
Добрый вечер. Пытаюсь сделать запрос на выборку из таблицы , т.е. в заданном диапазоне дат нужно выбрать все записи с одинаковым id .
С диапазоном дат разобрался .. Код:
procedure TForm19.Button1Click(Sender: TObject); var d1,d2:TDateTime; idAA:integer; begin d1:=(DateEdit1.Date); d2:=(DateEdit2.Date) ; DataModule2.ADOQueryApteka.SQL.Clear; DataModule2.ADOQueryApteka.Active:=False; DataModule2.ADOQueryApteka.SQL.Add('SELECT DataProdagi,idPrepar,NamPreparat FROM [AptekaProdaga] WHERE [DataProdagi] BETWEEN DateEdit1.Date and DateEdit2.Date ORDER BY NamPreparat ASC'); DataModule2.ADOQueryApteka.Parameters.ParamByName('DateEdit1.Date').Value := DateEdit1.Date; /// Ïàðàìåòð D1 ïî óìîë÷àíèþ DataModule2.ADOQueryApteka.Parameters.ParamByName('DateEdit2.Date').Value := DateEdit2.Date; /// Ïàðàìåòð D2 ïî óìîë÷àíèþ DataModule2.ADOQueryApteka.Active:=true; Код:
idAA:=92123134; d1:=(DateEdit1.Date); d2:=(DateEdit2.Date) ; DataModule2.ADOQueryApteka.SQL.Clear; DataModule2.ADOQueryApteka.Active:=False; DataModule2.ADOQueryApteka.SQL.Add('SELECT DataProdagi,idPrepar,NamPreparat FROM [AptekaProdaga] WHERE [DataProdagi] BETWEEN DateEdit1.Date and DateEdit2.Date, idAA ORDER BY NamPreparat ASC'); DataModule2.ADOQueryApteka.Parameters.ParamByName('idAA').Value :=idAA; DataModule2.ADOQueryApteka.Parameters.ParamByName('DateEdit1.Date').Value :=DateEdit1.Date; /// Параметр D1 по умолчанию DataModule2.ADOQueryApteka.Parameters.ParamByName('DateEdit2.Date').Value := DateEdit2.Date; /// Параметр D2 по умолчанию DataModule2.ADOQueryApteka.Active:=true; DataModule2.ADOQueryApteka.First; понимаю что не так , как правильно help my |
#2
|
||||
|
||||
Код:
DataModule2.ADOQueryApteka.SQL.Add('SELECT DataProdagi, idPrepar, NamPreparat FROM [AptekaProdaga]'); DataModule2.ADOQueryApteka.SQL.Add('WHERE [DataProdagi] ((BETWEEN ' + d1 + ' AND ' + d2 + ') AND (idAA = ' + id))); DataModule2.ADOQueryApteka.SQL.Add('ORDER BY NamPreparat ASC'); Код:
var d1, d2, id: String; .... d1 := DateEdit1.Date; d2 := DateEdit2.Date; id := Edit1.Text; // к примеру Простыми словами, Вам в запросе должна быть строка "где дата продажи лежит в диапазоне..., и id равен такому-то". Последний раз редактировалось Guaho, Сегодня в 00:08. |