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

📄 unitdetailform.pas

📁 手机批发商进销存管理
💻 PAS
字号:
unit UnitDetailForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB;

type
  TDetailForm = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery1GoodsNo: TWideStringField;
    ADOQuery1InDate: TWideStringField;
    ADOQuery1InRemark: TWideStringField;
    ADOQuery1GoodsOwner: TWideStringField;
    ADOQuery1OutDate: TWideStringField;
    ADOQuery1CustName: TWideStringField;
    ADOQuery1CustTel: TWideStringField;
    ADOQuery1CustAddr: TWideStringField;
    ADOQuery1CustRemark: TWideStringField;
    ADOQuery1OutRemark: TWideStringField;
    ADOQuery1GoodsName: TWideStringField;
    ADOQuery1GoodsType: TWideStringField;
    ADOQuery2GoodsNo: TWideStringField;
    ADOQuery2ServiceDate: TWideStringField;
    ADOQuery2ServiceRemark: TWideStringField;
    ADOQuery2GoodsName: TWideStringField;
    ADOQuery2GoodsType: TWideStringField;
    ADOQuery2InDate: TWideStringField;
    ADOQuery2InRemark: TWideStringField;
    ADOQuery2GoodsOwner: TWideStringField;
    ADOQuery2OutDate: TWideStringField;
    ADOQuery2CustName: TWideStringField;
    ADOQuery2CustTel: TWideStringField;
    ADOQuery2CustAddr: TWideStringField;
    ADOQuery2CustRemark: TWideStringField;
    ADOQuery2OutRemark: TWideStringField;
    ADOQuery3: TADOQuery;
    WideStringField3: TWideStringField;
    WideStringField4: TWideStringField;
    WideStringField5: TWideStringField;
    WideStringField6: TWideStringField;
    WideStringField7: TWideStringField;
    WideStringField8: TWideStringField;
    WideStringField9: TWideStringField;
    WideStringField10: TWideStringField;
    WideStringField11: TWideStringField;
    WideStringField12: TWideStringField;
    WideStringField13: TWideStringField;
    WideStringField14: TWideStringField;
    ADOQuery3CallDate: TWideStringField;
    ADOQuery3CallRemark: TWideStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    FiFlag: integer;
    FselectColumn, FselectCurDate, FselectGoodsOwner, FselectGoodsName, FselectGoodsType: string;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent; iFlag: integer; selectColumn,
      selectCurDate, selectGoodsOwner, selectGoodsName, selectGoodsType: string);
  end;

implementation

uses UnitDM;

{$R *.dfm}

constructor TDetailForm.Create(AOwner: TComponent; iFlag: integer;
  selectColumn, selectCurDate, selectGoodsOwner, selectGoodsName,
  selectGoodsType: string);
begin
  FiFlag := iFlag;
  FselectColumn := Trim(selectColumn);
  FselectCurDate := Trim(selectCurDate);
  FselectGoodsOwner := Trim(selectGoodsOwner);
  FselectGoodsName := Trim(selectGoodsName);
  FselectGoodsType := Trim(selectGoodsType);
  inherited Create(AOwner); 
end;

procedure TDetailForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ADOQuery1.Close;
  ADOQuery2.Close;
  ADOQuery3.Close;
  Action := caFree;
end;

procedure TDetailForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=27 then Close;
end;

procedure TDetailForm.DBGrid1DblClick(Sender: TObject);
begin
  Close;
end;

procedure TDetailForm.FormCreate(Sender: TObject);
var
  sql1: string;
begin
  ADOQuery1.Close;
  ADOQuery2.Close;
  ADOQuery3.Close;

  case FiFlag of
    0://采购表
      begin
        sql1 := ' select A.*,B.GoodsName,B.GoodsType from Tab_Goods A '
              + ' left join Tab_GoodsNo B on A.GoodsNo=B.GoodsNo '
              + ' where 1=1 ';
        if FselectGoodsName<>'' then
          sql1 := sql1 + ' and B.GoodsName=''' + FselectGoodsName + ''' ';
        if FselectGoodsType<>'' then
          sql1 := sql1 + ' and B.GoodsType=''' + FselectGoodsType + ''' ';

        if FselectColumn='button1' then//当期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.InDate>=''' + FselectCurDate + ''' and A.InDate<=''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button2' then//上期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.InDate<''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button3' then//累计
        begin
        end;
        sql1 := sql1 + ' order by A.InDate, B.GoodsName, B.GoodsType ';
        DataSource1.DataSet := ADOQuery1;
        ADOQuery1.SQL.Text := sql1;
        ADOQuery1.Open;
      end;
    1://库存表
      begin
        sql1 := ' select A.*,B.GoodsName,B.GoodsType from Tab_Goods A '
              + ' left join Tab_GoodsNo B on A.GoodsNo=B.GoodsNo '
              + ' where A.IsSale=0 ';
        if FselectGoodsOwner<>'' then
          sql1 := sql1 + ' and A.GoodsOwner=''' + FselectGoodsOwner + ''' ';              
        if FselectGoodsName<>'' then
          sql1 := sql1 + ' and B.GoodsName=''' + FselectGoodsName + ''' ';
        if FselectGoodsType<>'' then
          sql1 := sql1 + ' and B.GoodsType=''' + FselectGoodsType + ''' ';

        if FselectColumn='button1' then//当期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.InDate>=''' + FselectCurDate + ''' and A.InDate<=''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button2' then//上期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.InDate<''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button3' then//累计
        begin
        end;
        sql1 := sql1 + ' order by A.InDate, B.GoodsName, B.GoodsType ';
        DataSource1.DataSet := ADOQuery1;
        ADOQuery1.SQL.Text := sql1;
        ADOQuery1.Open;
      end;
    2://销售表
      begin
        sql1 := ' select A.*,B.GoodsName,B.GoodsType from Tab_Goods A '
              + ' left join Tab_GoodsNo B on A.GoodsNo=B.GoodsNo '
              + ' where A.IsSale=1 ';
        if FselectGoodsOwner<>'' then
          sql1 := sql1 + ' and A.GoodsOwner=''' + FselectGoodsOwner + ''' ';
        if FselectGoodsName<>'' then
          sql1 := sql1 + ' and B.GoodsName=''' + FselectGoodsName + ''' ';
        if FselectGoodsType<>'' then
          sql1 := sql1 + ' and B.GoodsType=''' + FselectGoodsType + ''' ';
              
        if FselectColumn='button1' then//当期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.OutDate>=''' + FselectCurDate + ''' and A.OutDate<=''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button2' then//上期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.OutDate<''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button3' then//累计
        begin
        end;
        sql1 := sql1 + ' order by A.OutDate,B.GoodsName, B.GoodsType ';
        DataSource1.DataSet := ADOQuery1;
        ADOQuery1.SQL.Text := sql1;
        ADOQuery1.Open;
      end;
    3://售后表
      begin
        sql1 := ' select X.*,Y.* from '
              + ' ( '
              + ' select A.*,B.GoodsName,B.GoodsType from Tab_Service A '
              + ' left join Tab_GoodsNo B on A.GoodsNo=B.GoodsNo '
              + ' ) X, Tab_Goods Y '
              + ' where X.GoodsNo=Y.GoodsNo ';
        if FselectGoodsName<>'' then
          sql1 := sql1 + ' and X.GoodsName=''' + FselectGoodsName + ''' ';
        if FselectGoodsType<>'' then
          sql1 := sql1 + ' and X.GoodsType=''' + FselectGoodsType + ''' ';

        if FselectColumn='button1' then//当期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.ServiceDate>=''' + FselectCurDate + ''' and A.ServiceDate<=''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button2' then//上期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.ServiceDate<''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button3' then//累计
        begin
        end;
        sql1 := sql1 + ' order by X.ServiceDate,X.GoodsName,X.GoodsType ';
        DataSource1.DataSet := ADOQuery2;
        ADOQuery2.SQL.Text := sql1;
        ADOQuery2.Open;
      end;
    4://回访表
      begin
        sql1 := ' select X.*,Y.* from '
              + ' ( '
              + ' select A.*,B.GoodsName,B.GoodsType from Tab_Call A '
              + ' left join Tab_GoodsNo B on A.GoodsNo=B.GoodsNo '
              + ' ) X, Tab_Goods Y '
              + ' where X.GoodsNo=Y.GoodsNo ';
        if FselectGoodsName<>'' then
          sql1 := sql1 + ' and X.GoodsName=''' + FselectGoodsName + ''' ';
        if FselectGoodsType<>'' then
          sql1 := sql1 + ' and X.GoodsType=''' + FselectGoodsType + ''' ';

        if FselectColumn='button1' then//当期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.CallDate>=''' + FselectCurDate + ''' and A.CallDate<=''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button2' then//上期
        begin
          if FselectCurDate<>'' then
            sql1 := sql1 + ' and A.CallDate<''' + FselectCurDate + ''' ';
        end
        else if FselectColumn='button3' then//累计
        begin
        end;
        sql1 := sql1 + ' order by X.CallDate,X.GoodsName,X.GoodsType ';
        DataSource1.DataSet := ADOQuery3;
        ADOQuery3.SQL.Text := sql1;
        ADOQuery3.Open;
      end;
  end;
end;

end.

⌨️ 快捷键说明

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