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

📄 finddailyfrm.pas

📁 相关的销售服务管理行业的一个软件
💻 PAS
字号:
unit FindDailyFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGridEh, Db, ADODB, StdCtrls, Buttons, ComCtrls, ExtCtrls,
  DBCtrls, Mask;

type
  TFindDailyForm = class(TForm)
    Panel1: TPanel;
    Panel3: TPanel;
    DTPBegin: TDateTimePicker;
    DTPEnd: TDateTimePicker;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGridEh1: TDBGridEh;
    BitBtn3: TBitBtn;
    ADOQuery2: TADOQuery;
    ADOQuery2storeCode: TWideStringField;
    DBEdit1: TDBEdit;
    DataSource2: TDataSource;
    ADOQuery3: TADOQuery;
    ADOQuery2storename: TStringField;
    DBLookupComboBox1: TDBLookupComboBox;
    ADOQuery1DSDesigner: TWideStringField;
    ADOQuery1DSDesigner2: TWideStringField;
    ADOQuery1DSDesigner3: TDateTimeField;
    ADOQuery1DSDesigner4: TFloatField;
    ADOQuery1DSDesigner5: TFloatField;
    ADOQuery1DSDesigner6: TWideStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer;
      Column: TColumnEh);
    procedure DBGridEh1SortMarkingChanged(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure DTPBeginChange(Sender: TObject);
    procedure DTPBeginCloseUp(Sender: TObject);
    procedure DTPEndChange(Sender: TObject);
    procedure DTPEndCloseUp(Sender: TObject);
  private
    { Private declarations }
    ColumnIndex: integer;
    function BeforeMonthDate(consultDate: TDateTime): TDateTime;
  public
    { Public declarations }
  end;

var
  FindDailyForm: TFindDailyForm;

implementation

uses Umain, U_DM;

{$R *.DFM}

procedure TFindDailyForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Frmmain.Outlook1.Visible :=true;
  frmmain.Panel1.Visible:=true;
  Frmmain.Panel2.Visible:=True;
  frmmain.Label1.Caption:='';
  frmmain.LTitle.Caption := '';

  Action := caFree;
end;

procedure TFindDailyForm.FormDestroy(Sender: TObject);
begin
  FindDailyForm := nil;
end;

procedure TFindDailyForm.FormActivate(Sender: TObject);
begin
  frmmain.LTitle.Caption := '日报查询统计';
  frmmain.Outlook1.Visible:=False;
  frmmain.Panel1.Visible:=true;
  frmmain.Panel2.Visible:=false;

end;

procedure TFindDailyForm.BitBtn2Click(Sender: TObject);
begin
  Close;
end;

procedure TFindDailyForm.DBGridEh1TitleBtnClick(Sender: TObject;
  ACol: Integer; Column: TColumnEh);
begin
  ColumnIndex := ACol;
end;

procedure TFindDailyForm.DBGridEh1SortMarkingChanged(Sender: TObject);
var
  OrderStr: string;
begin
  if DBGridEh1.Columns[ColumnIndex].Title.SortMarker = smUpEh then
     OrderStr := 'ASC'
  else
     OrderStr := 'DESC';
  ADOQuery1.Open;
  ADOQuery1.Sort := DBGridEh1.Columns[ColumnIndex].Title.Caption+OrderStr;
end;

procedure TFindDailyForm.FormCreate(Sender: TObject);
begin

  DTPBegin.Date := BeforeMonthDate(Date);
  DTPEnd.Date := Date;

end;

procedure TFindDailyForm.BitBtn1Click(Sender: TObject);
begin
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add(' SELECT xs_DailyMaster.DailyCode AS 日报编号,                    ');
    SQL.Add('              xs_store.StoreName AS 分销店名称,                  ');
    SQL.Add('              xs_store.type      AS 分销店类型,                  ');
    SQL.Add('         xs_DailyMaster.DateTime AS 上报时间,                    ');
    SQL.Add('       sum(xs_Dailydetail.Total) AS 总数量,                      ');
    SQL.Add('      sum(xs_Dailydetail.Amount) AS 总金额,                      ');
    SQL.Add('      xs_DailyMaster.InputPerson AS 录入人                       ');
    SQL.Add(' FROM xs_DailyMaster Left outer join                             ');
    SQL.Add('     xs_store on xs_dailyMaster.storecode = xs_store.storecode   ');
    SQL.Add(' join xs_DailyDetail on xs_dailymaster.dailyCode = xs_dailydetail.dailycode ');
    SQL.Add(' WHERE xs_DailyMaster.DateTime >=:a  AND xs_DailyMaster.DateTime <=:b  ');
    SQL.Add('  AND  xs_DailyMaster.StoreCode LIKE '''+DBEdit1.Text+'''            ');
    SQL.Add(' group by xs_DailyMaster.DailyCode,xs_store.StoreName, ');
    SQL.Add('          xs_store.type,xs_DailyMaster.DateTime,InputPerson ');
    Parameters[0].Value := DTPBegin.Date;
    Parameters[1].Value := DTPEnd.Date;
    Open;
  end;
end;

procedure TFindDailyForm.DTPBeginChange(Sender: TObject);
begin
  if DTPBegin.Date>DTPEnd.Date then
    DTPBegin.Color := clsilver
  else
    DTPBegin.Color := clWindow;

end;

procedure TFindDailyForm.DTPBeginCloseUp(Sender: TObject);
begin
  if DTPBegin.Date>DTPEnd.Date then
  begin
    DTPBegin.Color := clWindow;
    DTPBegin.Date := DTPEnd.Date;
  end;

end;

procedure TFindDailyForm.DTPEndChange(Sender: TObject);
begin
  if DTPBegin.Date>DTPEnd.Date then
    DTPEnd.Color := clsilver
  else
    DTPEnd.Color := clWindow;

end;

procedure TFindDailyForm.DTPEndCloseUp(Sender: TObject);
begin
  if DTPBegin.Date>DTPEnd.Date then
  begin
    DTPEnd.Color := clWindow;
    DTPEnd.Date := DTPBegin.Date;
  end;
end;
function TFindDailyForm.BeforeMonthDate(consultDate: TDateTime): TDateTime;
var
  year,month,day,year_1,month_1: word;
  days,days1,days2: integer;
begin

  decodeDate(consultDate,year,month,day);
  
  if month <> 1 then
  begin
    month_1 := month-1;
    year_1 := year;
  end
  else
  begin
    month_1 := 12;
    year_1 := year-1;
  end;
  days1 := DateTimeToTimeStamp(encodeDate(year,month,1)).Date;
  days2 := DateTimeToTimeStamp(encodeDate(year_1,month_1,1)).Date;
  days := days1-days2;
  if day < days then
    result := encodeDate(year_1,month_1,day)
  else
    result := encodeDate(year_1,month_1,days);

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -