⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accountquery.pas

📁 中小企业管理系统------ ERP系统原代码
💻 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 + -