📄 q_dsk.pas
字号:
unit q_dsk;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, Mask, Db, Grids, DBGrids, DBTables;
type
Tfrm_q_dsk = class(TForm)
Panel1: TPanel;
cb_time: TCheckBox;
pe_time: TPanel;
Label1: TLabel;
Label2: TLabel;
txt_xx: TMaskEdit;
txt_sx: TMaskEdit;
cb_dw: TCheckBox;
pe_dw: TPanel;
txt_dw: TEdit;
Bevel1: TBevel;
rb_w: TRadioButton;
rb_y: TRadioButton;
Bevel2: TBevel;
cmd_q: TBitBtn;
cmd_ok: TBitBtn;
qe_dsk: TQuery;
ds_dsk: TDataSource;
Panel4: TPanel;
grd_dsk: TDBGrid;
qe_dskds_time: TStringField;
qe_dskds_time1: TStringField;
qe_dskds_dw: TStringField;
qe_dskds_cx: TStringField;
qe_dskds_cph: TStringField;
qe_dskds_fs: TStringField;
qe_dskds_je: TFloatField;
qe_dskds_fk_bs: TSmallintField;
qe_dskds_cxch: TStringField;
cmd_a: TBitBtn;
qe_dskds_id: TIntegerField;
procedure qe_dskCalcFields(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure cmd_okClick(Sender: TObject);
procedure cmd_qClick(Sender: TObject);
procedure cmd_aClick(Sender: TObject);
procedure cb_timeClick(Sender: TObject);
procedure cb_dwClick(Sender: TObject);
procedure rb_wClick(Sender: TObject);
procedure rb_yClick(Sender: TObject);
private
{ Private declarations }
procedure QueryResult;
public
{ Public declarations }
ds_pos: integer;
end;
var
frm_q_dsk: Tfrm_q_dsk;
implementation
{$R *.DFM}
uses
log, main, qt_dsk;
procedure Tfrm_q_dsk.QueryResult;
var
strSQL: string;
intResult: integer;
begin
strSQL := '';
intResult := 0;
//
if rb_w.Checked then
strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 0 '
else
strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 1 ';
//
if cb_time.Checked then begin
if Trim(txt_xx.EditText) = '0000-00-00' then begin
MessageBox(Handle, '请确定代收时间', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_xx.SetFocus;
intResult := 1;
end else begin
if Trim(txt_sx.EditText) = '0000-00-00' then
strSQL := strSQL + 'AND DS_TIME = ''' + Trim(txt_xx.EditText) + ''' '
else
strSQL := strSQL + 'AND DS_TIME >= ''' + Trim(txt_xx.EditText) + ''' AND DS_TIME <= ''' + Trim(txt_sx.EditText) + ''' ';
end;
end;
//
if cb_dw.Checked then begin
if Trim(txt_dw.Text) = '' then begin
MessageBox(Handle, '请确定收款单位', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_dw.SetFocus;
intResult := 1;
end else
strSQL := strSQL + 'AND DS_DW LIKE ''%' + Trim(txt_dw.Text) + '%'' ';
end;
//
if (not cb_time.Checked) and (not cb_dw.Checked) then begin
MessageBox(Handle, '请确定查询条件', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end;
//
if intResult = 1 then
Exit
else begin
strSQL := strSQL + 'ORDER BY DS_TIME ';
qe_dsk.Close;
qe_dsk.SQL.Clear;
qe_dsk.SQL.Add(strSQL);
qe_dsk.Open;
qe_dsk.First;
//
if (qe_dsk.Bof) and (qe_dsk.Eof) then begin
MessageBox(Handle, '没有找到符合条件的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
qe_dsk.Close;
Exit;
end else begin
if ds_pos = 1 then
cmd_ok.Enabled := True;
end;
end;
end;
procedure Tfrm_q_dsk.qe_dskCalcFields(DataSet: TDataSet);
begin
qe_dsk.FieldByName('ds_cxch').AsString := Trim(qe_dsk.FieldByName('ds_cx').AsString) + ' ' + Trim(qe_dsk.FieldByName('ds_cph').AsString);
end;
procedure Tfrm_q_dsk.FormShow(Sender: TObject);
begin
if ds_pos = 1 then begin
rb_w.Checked := True;
rb_y.Enabled := False;
cmd_a.Visible := False;
cmd_ok.Visible := True;
cmd_ok.Enabled := False;
end else begin
rb_w.Checked := True;
rb_y.Enabled := True;
cmd_a.Visible := True;
cmd_ok.Visible := False;
//
frm_main.mu_cx_dsk.Enabled := False;
frm_main.current_handle := Handle;
end;
//
grd_dsk.Columns[1].Visible := False;
end;
procedure Tfrm_q_dsk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qe_dsk.Close;
//
if ds_pos <> 1 then begin
frm_main.mu_cx_dsk.Enabled := True;
frm_main.current_handle := 0;
end;
//
Action := caFree;
end;
procedure Tfrm_q_dsk.FormDestroy(Sender: TObject);
begin
qe_dsk := nil;
//
frm_q_dsk := nil;
end;
procedure Tfrm_q_dsk.cmd_okClick(Sender: TObject);
begin
frm_dsk.int_query := qe_dsk.FieldByName('ds_id').AsInteger;
frm_dsk.txt_time.EditText := Trim(qe_dsk.FieldByName('ds_time').AsString);
frm_dsk.txt_cx.Text := Trim(qe_dsk.FieldByName('ds_cx').AsString);
frm_dsk.txt_cph.Text := Trim(qe_dsk.FieldByName('ds_cph').AsString);
frm_dsk.txt_dw.Text := Trim(qe_dsk.FieldByName('ds_dw').AsString);
frm_dsk.txt_je.Text := FloatToStr(qe_dsk.FieldByName('ds_je').Value);
if Trim(qe_dsk.FieldByName('ds_fs').AsString) = '现金' then
frm_dsk.combo_fs.ItemIndex := 0
else
frm_dsk.combo_fs.ItemIndex := 1;
//
Close;
end;
procedure Tfrm_q_dsk.cmd_qClick(Sender: TObject);
begin
QueryResult;
end;
procedure Tfrm_q_dsk.cmd_aClick(Sender: TObject);
var
strSQL: string;
begin
strSQL := '';
//
if rb_w.Checked then
strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 0 '
else
strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 1 ';
//
qe_dsk.Close;
qe_dsk.SQL.Clear;
qe_dsk.SQL.Add(strSQL);
qe_dsk.Open;
qe_dsk.First;
if (qe_dsk.Bof) and (qe_dsk.Eof) then begin
MessageBox(Handle, '没有找到符合条件的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
qe_dsk.Close;
Exit;
end;
end;
procedure Tfrm_q_dsk.cb_timeClick(Sender: TObject);
begin
if cb_time.Checked then begin
pe_time.Enabled := True;
txt_xx.SetFocus;
end else begin
txt_xx.Text := '';
txt_sx.Text := '';
pe_time.Enabled := False;
end;
end;
procedure Tfrm_q_dsk.cb_dwClick(Sender: TObject);
begin
if cb_dw.Checked then begin
pe_dw.Enabled := True;
txt_dw.SetFocus;
end else begin
txt_dw.Text := '';
pe_dw.Enabled := False;
end;
end;
procedure Tfrm_q_dsk.rb_wClick(Sender: TObject);
begin
grd_dsk.Columns[1].Visible := False;
qe_dsk.Close;
end;
procedure Tfrm_q_dsk.rb_yClick(Sender: TObject);
begin
grd_dsk.Columns[1].Visible := True;
qe_dsk.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -