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

📄 main_query_spxsmx.pas

📁 商场管理系统源码 一套值得初学者学习的源码包含全部源码,控件
💻 PAS
字号:
unit MAIN_QUERY_SPXSMX;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MAIN_QUERY, DB, DBTables, ComCtrls, StdCtrls, TFlatComboBoxUnit,
  TFlatSpeedButtonUnit, Grids, DBGrids, DsFancyButton, ExtCtrls,myself,frmmain;

type
  TFrm_main_query_spxsmx = class(TFrm_main_query)
    procedure FormCreate(Sender: TObject);
    procedure SB_queryClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SB_printClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_main_query_spxsmx: TFrm_main_query_spxsmx;

implementation

uses PRINT_SPXSMX, PRINT_TEMP;

{$R *.dfm}

procedure TFrm_main_query_spxsmx.FormCreate(Sender: TObject);
var
   B_find:Boolean;
   I_temp:integer;
begin
  inherited;
   self.Caption :='商品销售明细';
   with query_data do
   begin
      close;
      sql.Clear ;
      sql.text:='select * from goodsmessage order by name';
      open;
      CB_goods.Style :=csDropDownList;
      CB_goods.Items.add('所有');
      while not eof do
      begin
         B_find:=false;
         for I_temp:=0 to CB_goods.items.Count-1 do
         begin
           if CB_goods.Items[I_temp]=fieldbyname('name').asstring then
             B_find:=true;          //找到相同名称
         end;
         if not B_find then        //没有找到时增加
           CB_goods.Items.add(fieldbyname('name').asstring);
         next;
      end;
      close;
   end;
end;

procedure TFrm_main_query_spxsmx.SB_queryClick(Sender: TObject);
begin
  inherited;
   if not Checkrights(USERRIGHTS,'查看') then
   begin
      messagedlg(Errormsg0006+'0007',mterror,[mbok],0);
      exit;
   end;
   with query_data do
   begin
      close;
      sql.Clear ;
      if (cb_goods.Text ='') or (cb_goods.Text ='所有') then
         sql.Text :='   SELECT People.Name, (Depot.NAME) Depotname, (Goodsmessage.NAME) goodsname,'
               +' Goodsmessage.TYPE,Goodsmessage.UNIT, Sellrecord.NUMBER,(Sellrecord.price) selldj,'
               +' (Sellrecord.NUMBER*Sellrecord.PRICE) PRICE,Sellrecord.MYDATE, Sellrecord.MEMO'
               +' FROM Sellrecord INNER JOIN People'
               +' ON  (Sellrecord.PEOPLEID = People.Id) INNER JOIN Depot'
               +' ON  (Sellrecord.DEPOTID = Depot.ID) INNER JOIN Goodsmessage'
               +' ON  (Sellrecord.GOODSID = Goodsmessage.ID)'
               +' WHERE (Sellrecord.mydate>="'+formatdatetime('yyyy-mm-dd',DTP_begin.DateTime)+'")'
               +' AND (Sellrecord.mydate<="'+formatdatetime('yyyy-mm-dd',dtp_end.DateTime)+'")'
               +' UNION ALL'
               +'   SELECT People.Name, (Depot.NAME) Depotname, (Goodsmessage.NAME) goodsname,'
               +' Goodsmessage.TYPE,Goodsmessage.UNIT,(0- XSTHrecord.NUMBER) NUMBER,(XSTHrecord.price) selldj,'
               +' ((0-XSTHrecord.NUMBER)*XSTHrecord.PRICE) PRICE,XSTHrecord.MYDATE, XSTHrecord.MEMO'
               +' FROM XSTHrecord INNER JOIN People'
               +' ON  (XSTHrecord.PEOPLEID = People.Id) INNER JOIN Depot'
               +' ON  (XSTHrecord.DEPOTID = Depot.ID) INNER JOIN Goodsmessage'
               +' ON  (XSTHrecord.GOODSID = Goodsmessage.ID)'
               +' WHERE (XSTHrecord.mydate>="'+formatdatetime('yyyy-mm-dd',DTP_begin.DateTime)+'")'
               +' AND (XSTHrecord.mydate<="'+formatdatetime('yyyy-mm-dd',dtp_end.DateTime)+'")'
               +'  ORDER BY GOODSMESSAGE.NAME,MYDATE'
      else
         sql.Text :=' SELECT People.Name, (Depot.NAME) Depotname, (Goodsmessage.NAME) goodsname,'
               +' Goodsmessage.TYPE,Goodsmessage.UNIT, Sellrecord.NUMBER,(Sellrecord.price) selldj,'
               +' (Sellrecord.NUMBER*Sellrecord.PRICE) PRICE,Sellrecord.MYDATE, Sellrecord.MEMO'
               +' FROM Sellrecord INNER JOIN People'
               +' ON  (Sellrecord.PEOPLEID = People.Id) INNER JOIN Depot'
               +' ON  (Sellrecord.DEPOTID = Depot.ID) INNER JOIN Goodsmessage'
               +' ON  (Sellrecord.GOODSID = Goodsmessage.ID)'
               +' WHERE (Sellrecord.mydate>="'+formatdatetime('yyyy-mm-dd',DTP_begin.DateTime)+'")'
               +' AND (Sellrecord.mydate<="'+formatdatetime('yyyy-mm-dd',dtp_end.DateTime)+'")'
               +' and (Goodsmessage.name="'+cb_goods.Text +'")'
               +' UNION ALL'
               +'  SELECT People.Name, (Depot.NAME) Depotname, (Goodsmessage.NAME) goodsname,'
               +' Goodsmessage.TYPE,Goodsmessage.UNIT,(0- XSTHrecord.NUMBER) NUMBER,(XSTHrecord.price) selldj,'
               +' ((0 - XSTHrecord.NUMBER)*XSTHrecord.PRICE) PRICE,XSTHrecord.MYDATE, XSTHrecord.MEMO'
               +' FROM XSTHrecord INNER JOIN People'
               +' ON  (XSTHrecord.PEOPLEID = People.Id) INNER JOIN Depot'
               +' ON  (XSTHrecord.DEPOTID = Depot.ID) INNER JOIN Goodsmessage'
               +' ON  (XSTHrecord.GOODSID = Goodsmessage.ID)'
               +' WHERE (XSTHrecord.mydate>="'+formatdatetime('yyyy-mm-dd',DTP_begin.DateTime)+'")'
               +' AND (XSTHrecord.mydate<="'+formatdatetime('yyyy-mm-dd',dtp_end.DateTime)+'")'
               +' and (Goodsmessage.name="'+cb_goods.Text +'")'
               +'  ORDER BY GOODSMESSAGE.NAME,MYDATE';
      try
         open;
      except
         messagedlg(Errormsg0001+'0008+0018+0023',mtError,[mbok],0);
         close;
      end;
   end;
end;

procedure TFrm_main_query_spxsmx.FormShow(Sender: TObject);
begin
  inherited;
   SB_query.Click ;
end;

procedure TFrm_main_query_spxsmx.SB_printClick(Sender: TObject);
begin
  inherited;
   try       
      Application.CreateForm(TFrm_print_spxsmx, Frm_print_spxsmx);
      Application.CreateForm(TFrm_print_temp, Frm_print_temp);
   except
      messagedlg(Errormsg0011,mtError,[mbok],0);
      exit;
   end;
   Frm_print_spxsmx.QuickRep_spxsmx.preview;
   Frm_print_spxsmx.Free ;
   Frm_print_temp.Free ;
end;

end.

⌨️ 快捷键说明

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