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

📄 unit7.~pas

📁 中鼎百货进销存系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit7;

interface

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

type
  TForm7 = class(TForm)
    TabbedNotebook1: TTabbedNotebook;
    Label2: TLabel;
    Label1: TLabel;
    DBGrid1: TDBGrid;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Button1: TButton;
    GroupBox1: TGroupBox;
    CheckBox4: TCheckBox;
    ComboBox4: TComboBox;
    CheckBox2: TCheckBox;
    ComboBox2: TComboBox;
    CheckBox3: TCheckBox;
    ComboBox3: TComboBox;
    GroupBox2: TGroupBox;
    CheckBox5: TCheckBox;
    ComboBox5: TComboBox;
    CheckBox6: TCheckBox;
    ComboBox6: TComboBox;
    CheckBox7: TCheckBox;
    ComboBox7: TComboBox;
    CheckBox8: TCheckBox;
    ComboBox8: TComboBox;
    GroupBox3: TGroupBox;
    CheckBox1: TCheckBox;
    ComboBox1: TComboBox;
    CheckBox9: TCheckBox;
    ComboBox9: TComboBox;
    CheckBox10: TCheckBox;
    ComboBox10: TComboBox;
    CheckBox11: TCheckBox;
    ComboBox11: TComboBox;
    GroupBox4: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    conn1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery2: TADOQuery;
    ADO_KC: TADOQuery;
    DS_KC: TDataSource;
    DBGrid2: TDBGrid;
    Label3: TLabel;
    CheckBox12: TCheckBox;
    CheckBox13: TCheckBox;
    CheckBox14: TCheckBox;
    ComboBox12: TComboBox;
    ComboBox13: TComboBox;
    ComboBox14: TComboBox;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    function  ConnectDataBase():boolean;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure ComboBox4Click(Sender: TObject);
    procedure ComboBox6Click(Sender: TObject);
    procedure ComboBox9Click(Sender: TObject);
    procedure ComboBox3Click(Sender: TObject);
    procedure ComboBox7Click(Sender: TObject);
    procedure ComboBox10Click(Sender: TObject);
    procedure ComboBox12Click(Sender: TObject);
    procedure ComboBox13Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    function  DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 5): Boolean;
    procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    function  DBGridRecordSize(mColumn: TColumn): Boolean;
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form7: TForm7;

implementation

{$R *.dfm}
function TForm7.DBGridRecordSize(mColumn: TColumn): Boolean;
{ 返回记录数据网格列显示最大宽度是否成功 }
begin
Result := False;
if not Assigned(mColumn.Field) then Exit;
mColumn.Field.Tag := Max(mColumn.Field.Tag,
TDBGrid(mColumn.Grid).Canvas.TextWidth(mColumn.Field.DisplayText));
Result := True;
end; { DBGridRecordSize }

function TForm7.DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 5): Boolean;
{ 返回数据网格自动适应宽度是否成功 }
var
I: Integer;
begin
Result := False;
if not Assigned(mDBGrid) then Exit;
if not Assigned(mDBGrid.DataSource) then Exit;
if not Assigned(mDBGrid.DataSource.DataSet) then Exit;
if not mDBGrid.DataSource.DataSet.Active then Exit;
for I := 0 to mDBGrid.Columns.Count - 1 do begin
if not mDBGrid.Columns[I].Visible then Continue;
if Assigned(mDBGrid.Columns[I].Field) then
mDBGrid.Columns[I].Width := 120+Max(mDBGrid.Columns[I].Field.Tag,
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
else mDBGrid.Columns[I].Width :=
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + 120+ mOffset;
mDBGrid.Refresh;
end;
Result := True;
end; { DBGridAutoSize }

function TForm7.ConnectDataBase():boolean;
var
 Constr:string;
begin
conn1.Close;
 try
  Constr:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=admin;';
  Constr:=Constr+'Data Source='+ExtractFilePath(Application.ExeName)+'database\ZD.mdb;Mode=ReadWrite';
 conn1.ConnectionString := Constr;
 conn1.Connected:=true;
 result:=true;
 except
 result:=false;
 application.MessageBox('连接数据库失败','提示',1);
 end;
end; 


procedure TForm7.Button1Click(Sender: TObject);
var
sql,sql1,sql2,sql3,sql4:string;
startdate,Enddate:TDatetime;
begin
startdate:=DateTimePicker1.Date;
Enddate:=DateTimePicker2.Date;
//按产品
sql1:='Select ManuFactory as 生产厂商, Quality as 产品类别,Pzsize as 产品名称,packagenum as 包装规格,cellnum as 数量,price as 出货价,Jiner as 金额,Pzuser as 经手人,Outputdate as 进货日期 from OutputCell where Outputdate>=:s_date and Outputdate<=:e_date';
if checkbox4.Checked then
sql2:=' and Manufactory=:s_manufactory';
if (checkbox4.Checked) and (checkbox3.Checked) then
sql2:=' and Manufactory=:s_manufactory and quality=:s_quality';
if (checkbox4.Checked) and (checkbox3.Checked) and (checkbox2.Checked) then
sql2:=' and Manufactory=:s_manufactory and quality=:s_quality and Pzsize=:s_pzsize';

//按业务员
if checkbox5.Checked then
sql2:=' and Pzuser=:s_user';
if (checkbox5.Checked) and (checkbox6.Checked) then
sql2:=' and Pzuser=:s_user and Manufactory=:s_manufactory';
if (checkbox5.Checked) and (checkbox6.Checked) and (checkbox7.Checked) then
sql2:=' and Pzuser=:s_user and Manufactory=:s_manufactory and quality=:s_quality ';
if (checkbox5.Checked) and (checkbox6.Checked) and (checkbox7.Checked) and (checkbox8.Checked) then
sql2:=' and Pzuser=:s_user and Manufactory=:s_manufactory and quality=:s_quality and Pzsize=:s_pzsize';

//按区域
if checkbox1.Checked then
sql2:=' and area_type=:s_area';
if (checkbox1.Checked) and (checkbox9.Checked) then
sql2:=' and Manufactory=:s_manufactory and area_type=:s_area';
if (checkbox1.Checked) and (checkbox9.Checked) and (checkbox10.Checked) then
sql2:=' and Manufactory=:s_manufactory and area_type=:s_area and quality=:s_quality';
if (checkbox1.Checked) and (checkbox9.Checked) and (checkbox10.Checked) and (checkbox11.Checked) then
sql2:=' and Manufactory=:s_manufactory and area_type=:s_area and quality=:s_quality and Pzsize=:s_pzsize';


ADOQuery2.Close;
ADOQuery2.SQL.Clear;
if sql2='' then
ADOQuery2.SQL.Add(sql1)
else
ADOQuery2.SQL.Add(sql1+sql2);
sql:=sql1+sql2;

ADOQuery2.Parameters.ParamByName('s_date').Value:=startdate;
ADOQuery2.Parameters.ParamByName('e_date').Value:=Enddate;
//按产品
if checkbox4.Checked then
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox4.Text;
if (checkbox4.Checked) and (checkbox3.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox4.Text;
ADOQuery2.Parameters.ParamByName('s_quality').Value:=combobox3.Text;
end;
if (checkbox4.Checked) and (checkbox3.Checked) and (checkbox2.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox4.Text;
ADOQuery2.Parameters.ParamByName('s_quality').Value:=combobox3.Text;
ADOQuery2.Parameters.ParamByName('s_pzsize').Value:=combobox2.Text;
end;

//按业务员
if checkbox5.Checked then
ADOQuery2.Parameters.ParamByName('s_user').Value:=combobox5.Text;
if (checkbox5.Checked) and (checkbox6.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_user').Value:=combobox5.Text;
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox6.Text;
end;
if (checkbox5.Checked) and (checkbox6.Checked) and (checkbox7.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_user').Value:=combobox5.Text;
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox6.Text;
ADOQuery2.Parameters.ParamByName('s_quality').Value:=combobox7.Text;
end;

if (checkbox5.Checked) and (checkbox6.Checked) and (checkbox7.Checked) and (checkbox8.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_user').Value:=combobox5.Text;
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox6.Text;
ADOQuery2.Parameters.ParamByName('s_quality').Value:=combobox7.Text;
ADOQuery2.Parameters.ParamByName('s_pzsize').Value:=combobox8.Text;
end;

//按区域
if checkbox1.Checked then
ADOQuery2.Parameters.ParamByName('s_area').Value:=combobox1.Text;
if (checkbox1.Checked) and (checkbox9.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_area').Value:=combobox1.Text;
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox9.Text;
end;
if (checkbox1.Checked) and (checkbox9.Checked) and (checkbox10.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_area').Value:=combobox1.Text;
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox9.Text;
ADOQuery2.Parameters.ParamByName('s_quality').Value:=combobox10.Text;
end;
if (checkbox1.Checked) and (checkbox9.Checked) and (checkbox10.Checked) and (checkbox11.Checked) then
begin
ADOQuery2.Parameters.ParamByName('s_area').Value:=combobox1.Text;
ADOQuery2.Parameters.ParamByName('s_manufactory').Value:=combobox9.Text;
ADOQuery2.Parameters.ParamByName('s_quality').Value:=combobox10.Text;
ADOQuery2.Parameters.ParamByName('s_pzsize').Value:=combobox11.Text;
end;

ADOQuery2.Open;
end;


procedure TForm7.FormCreate(Sender: TObject);
var
manufactory,area_type,pzuser:string;
begin
 ConnectDataBase;

 DateTimePicker1.Date:=now-30;
 DateTimePicker2.Date:=now;
 DateTimePicker1.DateFormat:=dfshort;
 DateTimePicker2.DateFormat:=dfshort;

 ADOQuery1.Close;
 ADOQuery1.SQL.Clear;
 ADOQuery1.sql.Add('select distinct Manufactory from shopName');
 ADOQuery1.Open;

 Combobox4.Clear;
 Combobox6.Clear;
 Combobox9.Clear;
 Combobox12.Clear;
 while not ADOQuery1.Eof do
 begin
  manufactory:=ADOQuery1.FieldByName('Manufactory').AsString;
  Combobox4.Items.Add(manufactory);
  Combobox6.Items.Add(manufactory);
  Combobox9.Items.Add(manufactory);
  Combobox12.Items.Add(manufactory);
  ADOQuery1.Next;
 end;

 ADOQuery1.Close;
 ADOQuery1.SQL.Clear;
 ADOQuery1.sql.Add('select distinct area_type from custom');
 ADOQuery1.Open;

 Combobox1.Clear;
 while not ADOQuery1.Eof do
 begin
  area_type:=ADOQuery1.FieldByName('area_type').AsString;
  Combobox1.Items.Add(area_type);
  ADOQuery1.Next;
 end;

  ADOQuery1.Close;
 ADOQuery1.SQL.Clear;
 ADOQuery1.sql.Add('select distinct Pzuser from inputcell');
 ADOQuery1.Open;

 Combobox5.Clear;
 while not ADOQuery1.Eof do
 begin
  pzuser:=ADOQuery1.FieldByName('Pzuser').AsString;
  Combobox5.Items.Add(pzuser);
  ADOQuery1.Next;
 end;

checkbox2.Enabled:=false;
checkbox3.Enabled:=false;
checkbox4.Enabled:=false;

checkbox5.Enabled:=false;
checkbox6.Enabled:=false;
checkbox7.Enabled:=false;
checkbox8.Enabled:=false;

checkbox1.Enabled:=false;
checkbox9.Enabled:=false;
checkbox10.Enabled:=false;
checkbox11.Enabled:=false;

⌨️ 快捷键说明

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