📄 accountquery.pas
字号:
unit AccountQuery;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ListForm, ImgList, ExtCtrls, dxCntner, dxTL, dxDBCtrl, dxDBGrid, DBData,
Db, BillEdit, ADODB, Menus, dxDBTL, dxBar, dxBarExtItems, KsSkinForms,
KsSkinPanels, KsSkinMessages, dxExEdtr, StdCtrls, se_controls;
type
TfrmAccountQuery = class(TfrmListForm)
daBase2Info: TDataSource;
ADOSetBillQuery: TADODataSet;
MainGrid: TdxDBGrid;
procedure bbSelectClick(Sender: TObject);
procedure bbAddClick(Sender: TObject);
procedure bbEditClick(Sender: TObject);
procedure bbDelClick(Sender: TObject);
procedure bbFindClick(Sender: TObject);
procedure bbFilterClick(Sender: TObject);
procedure bbDateClick(Sender: TObject);
procedure bbSetColClick(Sender: TObject);
procedure bbRefreshClick(Sender: TObject);
procedure MainGridDblClick(Sender: TObject);
private
{ Private declarations }
lReturn: Integer;
lMode: Integer;
lSelect: Integer;
bRead: Boolean;
tStartDate, tEndDate: TDateTime;
function QueryToEdit(lQMode: Integer): Integer;
procedure ToolShow;
procedure LoadGrid;
function ReturnSQL: string;
procedure MainShow;
procedure LoadData;
public
{ Public declarations }
end;
function AccountQueryShow(l1Mode, l1Select: Integer; b1Read: Boolean): Integer;
implementation
uses SysPublic, AccountVoucher;
{$R *.DFM}
function AccountQueryShow(l1Mode, l1Select: Integer; b1Read: Boolean): Integer;
var
frmAccountQuery: TfrmAccountQuery;
begin
frmAccountQuery := TfrmAccountQuery.Create(Application);
with frmAccountQuery do
begin
lMode := l1Mode;
lSelect := l1Select;
bRead := b1Read;
lReturn := 0;
MainShow;
Result := lReturn;
Free;
end;
end;
procedure TfrmAccountQuery.MainShow;
begin
if not GetDate(tStartDate, tEndDate) then
Exit;
ToolShow;
LoadGrid;
LoadData;
ShowModal;
SetColWidth(Caption, MainGrid);
end;
procedure TfrmAccountQuery.LoadGrid;
begin
Caption := '凭证查询';
StrToGridField(MainGrid, 'ID,Date,UserCode,Accessory,Memo,EName1',
'ID,日期,凭证编号,附件,备注,制单人',
'30,80,100,70,120,90');
MainGrid.ColumnByFieldName('ID').Visible := false;
MainGrid.ColumnByFieldName('Date').SummaryFooterType := cstCount;
MainGrid.ColumnByFieldName('Date').SummaryFooterFormat := '记录条数: 0';
SetCol(Caption, MainGrid, 1);
end;
function TfrmAccountQuery.ReturnSQL: string;
var
sSql, sStartDate, sEndDate: string;
begin
sStartDate := FormatDateTime('yyyy/mm/dd', tStartDate);
sEndDate := FormatDateTime('yyyy/mm/dd', tEndDate);
sSql :=
'SELECT A.ID, A.UserCode, A.Date, A.Accessory, A.Memo, E1.Name AS EName1 ' +
'FROM AccountIndex AS A LEFT JOIN Employe AS E1 ON A.EmployeID1 = E1.ID ' +
'WHERE (A.EmployeID1=E1.[ID]) ' +
'AND (A.[Date] BETWEEN #' + sStartDate + '# AND #' + sEndDate + '#)';
Result := sSql;
end;
procedure TfrmAccountQuery.LoadData;
begin
OpenDataSet(ADOSetBillQuery, ReturnSQL);
end;
function TfrmAccountQuery.QueryToEdit(lQMode: Integer): Integer;
var
lEditMode: Integer;
begin
case lQMode of
ACCOUNT_VOUCHER_QUERY: lEditMode := ACCOUNT_VOUCHER_EDIT;
else
lEditMode := 0;
end;
Result := lEditMode;
end;
procedure TfrmAccountQuery.ToolShow;
begin
if lSelect = 0 then
bbSelect.Visible := ivNever
else
if lSelect = 1 then
bbSelect.Visible := ivAlways;
end;
procedure TfrmAccountQuery.bbSelectClick(Sender: TObject);
begin
inherited;
lReturn := ADOSetBillQuery.FieldByName('ID').AsInteger;
Close;
end;
procedure TfrmAccountQuery.bbAddClick(Sender: TObject);
var
SavePlace: TBookmark;
begin
inherited;
with ADOSetBillQuery do
begin
SavePlace := GetBookmark;
AccountVoucherShow(QueryToEdit(lMode), 0, 0);
Close;
Open;
GotoBookmark(SavePlace);
FreeBookmark(SavePlace);
end;
end;
procedure TfrmAccountQuery.bbEditClick(Sender: TObject);
var
SavePlace: TBookmark;
lID: Integer;
begin
inherited;
with ADOSetBillQuery do
begin
if IsEmpty then
exit;
SavePlace := GetBookmark;
lID := ADOSetBillQuery.FieldByName('ID').AsInteger;
AccountVoucherShow(QueryToEdit(lMode), lID, 0);
Close;
Open;
GotoBookmark(SavePlace);
FreeBookmark(SavePlace);
end;
end;
procedure TfrmAccountQuery.bbDelClick(Sender: TObject);
var
lID: integer;
sSql: string;
begin
inherited;
if ADOSetBillQuery.IsEmpty then
exit;
if MsgBox('数据删除后不可恢复,确认要删除?', '提示', MB_OKCancel) = IDOK then
begin
ADOSetBillQuery.ControlsDisabled;
lID := ADOSetBillQuery.FieldByName('ID').AsInteger;
sSql := 'DELETE FROM AccountIndex WHERE ID=' + IntToStr(lID);
if ExecSql(sSql) then
begin
sSql := 'DELETE FROM AccountTable WHERE IndexID=' + IntToStr(lID);
ExecSql(sSql);
end;
OpenDataSet(ADOSetBillQuery, ADOSetBillQuery.CommandText);
ADOSetBillQuery.EnableControls;
end;
end;
procedure TfrmAccountQuery.bbFindClick(Sender: TObject);
begin
inherited;
FindPublic(MainGrid, sPubFindText, lPubFindFiled);
end;
procedure TfrmAccountQuery.bbFilterClick(Sender: TObject);
begin
inherited;
FilterPublic(MainGrid);
end;
procedure TfrmAccountQuery.bbDateClick(Sender: TObject);
begin
inherited;
if GetDate(tStartDate, tEndDate) then
begin
LoadData;
end;
end;
procedure TfrmAccountQuery.bbSetColClick(Sender: TObject);
begin
inherited;
SetCol(Caption, MainGrid, 0);
end;
procedure TfrmAccountQuery.bbRefreshClick(Sender: TObject);
begin
inherited;
ADOSetBillQuery.Filter := '';
end;
procedure TfrmAccountQuery.MainGridDblClick(Sender: TObject);
begin
inherited;
bbEditClick(nil);
end;
end.
//此源码由程序太平洋收集整理发布,任何人都可自由转载,但需保留本站信息
//╭⌒╮┅~ ¤ 欢迎光临程序太平洋╭⌒╮
//╭⌒╭⌒╮╭⌒╮~╭⌒╮ ︶ ,︶︶
//,︶︶︶︶,''︶~~ ,''~︶︶ ,''
//╔ ╱◥███◣═╬╬╬╬╬╬╬╬╬╗
//╬ ︱田︱田 田 ︱ ╬
//╬ http://www.5ivb.net ╬
//╬ ╭○╮● ╬
//╬ /■\/■\ ╬
//╬ <| || 有希望,就有成功! ╬
//╬ ╬
//╚╬╬╬╬╬╬╬╬╬╬╗ ╔╬╬╬╬╝
//
//说明:
//专业提供VB、.NET、Delphi、ASP、PB源码下载
//包括:程序源码,控件,商业源码,系统方案,开发工具,书籍教程,技术文档
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -