DateTimePicker와 QuickReport를 이용해서
인쇄 프로그램을 짜는 중입니다.
근데 DateTimePicker의 날짜를 선택해서
QuickReport의 QRDBText에 선택한 날짜를
move시켜주고 싶은데 다른 날짜가 나오더군요..
왜 그러는 걸까요...?
소스는 이렇습다...
procedure Tah7900_f.FormCreate(Sender: TObject);
begin
date_sDTPicker.Date := Now;
date_eDTPicker.Date := Now;
item_sCB.ItemIndex := -1;
item_eCB.ItemIndex := -1;
item_sCB.Text := '';
item_eCB.Text := '';
end;
procedure Tah7900_f.PrintBitBtnClick(Sender: TObject);
begin
if (length(item_sCB.Text) = 0) and (length(item_eCB.Text) = 0) then
begin
item_sCB.Text := '0' ;
item_eCB.Text := 'zzzzzzzz';
end;
if MessageDlg(' 정말로 인쇄 합니까.?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Date_sQRDBText.Caption := FormatDateTime('YYYYMMDD',date_sDTPicker.Date);
Date_eQRDBText.Caption := FormatDateTime('YYYYMMDD',date_eDTPicker.Date);
S1_QRlabel.Caption := item_sCB.Text;
E1_QRlabel.Caption := item_eCB.Text;
Query1.Close;
Query1.SQL.clear;
Query1.SQL.Add (' select hist_date, hist_item, hist_kubun, hist_iqty, hist_oqty from mihist ');
Query1.SQL.Add (' where (hist_date between TO_DATE('''+FormatDateTime('YYYYMMDD',date_sDTPicker.Date)+''',''YYYYMMDD'')and ');
Query1.SQL.Add (' TO_DATE('''+FormatDateTime('YYYYMMDD',date_eDTPicker.Date)+''',''YYYYMMDD'')and ');
Query1.SQL.Add (' hist_item between '''+item_sCB.Text+''' and '''+item_eCB.Text+''' ) ');
Query1.SQL.Add (' order by hist_date, hist_item, hist_kubun ');
Query1.Open;
if Query1.RecordCount <> 0 then
MesgStatusBar.SimpleText := 'MESG:' + IntToStr(Query1.RecordCount) + ' 건 조회완료 하였습니다.!!'
else MesgStatusBar.SimpleText := 'MESG:조회할 자료가 없습니다.!!';
QuickRep1.Preview;
end;
procedure Tah7900_f.date_sDTPickerChange(Sender: TObject);
begin
Date_sQRDBText.Caption := FormatDateTime('YYYYMMDD',date_sDTPicker.Date);
end;
procedure Tah7900_f.date_eDTPickerChange(Sender: TObject);
begin
Date_eQRDBText.Caption := FormatDateTime('YYYYMMDD',date_eDTPicker.Date);
end;
end.
TO_DATE를 사용하실경우
TO_DATE( 날자, 형식 ) 이렇게 써야할 듯 싶네요...
즉, TO_DATE( FormatDateTime( 'YYYY/MM/DD', DateTimePicker.Date ), 'YYYY/MM/DD' )
함 보시죠...