yprk.pas

来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 298 行

PAS
298
字号
unit YPRK;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RVClass,RVProj,RVCsStd,StdCtrls, Grids, DBGrids, DB, ADODB, ComCtrls, ExtCtrls, DBCtrls,
  Mask, RpCon, RpConDS, RpDefine, RpRave;

type
  TYPRKFrm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    ADOTable1: TADOTable;
    Button3: TButton;
    ADOQuery2: TADOQuery;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Label3: TLabel;
    Label8: TLabel;
    Label7: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label4: TLabel;
    DBComboBox1: TDBComboBox;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    Button1: TButton;
    Button2: TButton;
    Button4: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    Edit4: TEdit;
    RadioButton2: TRadioButton;
    Edit5: TEdit;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Edit6: TEdit;
    Edit7: TEdit;
    Button5: TButton;
    Button6: TButton;
    DBGrid2: TDBGrid;
    DataSource2: TDataSource;
    DBNavigator2: TDBNavigator;
    Button7: TButton;
    procedure FormCreate(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure DBComboBox1Change(Sender: TObject);
    procedure DBEdit4Change(Sender: TObject);
    procedure DBEdit5Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
   
   


    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YPRKFrm: TYPRKFrm;
  

implementation

uses Login, Main;

{$R *.dfm}

procedure TYPRKFrm.FormCreate(Sender: TObject);
begin
   
  ADOtable1.first;
   while not ADOtable1.eof do
      begin
       dbcombobox1.items.insert(-1,ADOtable1.fieldbyname('YPMC').asstring);
       ADOtable1.Next;
      end;
  pagecontrol1.activepage:=tabsheet1;
end;

procedure TYPRKFrm.TabSheet1Show(Sender: TObject);
begin
    edit2.text:=datetostr(Date);
    edit3.text:=LoginFrm.edit1.Text;

end;

procedure TYPRKFrm.DBComboBox1Change(Sender: TObject);
begin
     with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('select * from YPXX where YPMC='+''''+DBComboBox1.text+'''');
       open;
       first;
       DBEdit1.text:=fieldbyname('YPBH').asstring;
       DBEdit2.text:=fieldbyname('YPLB').asstring;
       DBEdit3.text:=fieldbyname('JLDW').asstring; 
     end;
end;



procedure TYPRKFrm.DBEdit4Change(Sender: TObject);
begin
  if (dbedit4.text<>'')and (dbedit5.text<>'')then
    DBEdit6.text:=floattostr(strtofloat(dbedit4.text)*strtofloat(dbedit5.text));
end;

procedure TYPRKFrm.DBEdit5Change(Sender: TObject);
begin
  if (dbedit4.text<>'')and (dbedit5.text<>'')then
    DBEdit6.text:=floattostr(strtofloat(dbedit4.text)*strtofloat(dbedit5.text));
end;

procedure TYPRKFrm.Button1Click(Sender: TObject);
begin
  if dbedit4.text='' then
     showmessage('请填写购入数量!')
  else
   if dbedit5.text='' then
       showmessage('请填写购入单价!')
   else
    begin
    with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('insert into YPRK (RKDH,RKRQ,JSR,YPMC,YPBH,YPLB,JLDW,GRSL,GRDJ,ZFJE)values (' );
       sql.add(''''+edit1.text+''''+','+''''+edit2.text+''''+',');
       sql.add(''''+edit3.text+''''+','+''''+dbcombobox1.text+''''+',');
       sql.add(''''+dbedit1.text+''''+','+''''+dbedit2.text+''''+',');
       sql.add(''''+dbedit3.text+''''+','+''''+dbedit4.text+''''+',');
       sql.add(''''+dbedit5.text+''''+','+''''+dbedit6.text+''''+')');
       execsql;
    end;
    with ADOQuery1 do
      begin
       close;
       sql.clear;
       sql.add('select  * from YPRK where RKDH='+''''+edit1.text+'''');
       open;
       first;
      end;
    showmessage('此条记录保存成功!');
    end;
end;
 
procedure TYPRKFrm.Button2Click(Sender: TObject);
begin
   with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('select top 1 * from YPRk order by RKDH desc');
       open;
       first;
       if fieldbyname('RKRQ').asstring=datetostr(Date) then
          edit1.text:=floattostr(fieldbyname('RKDH').asfloat+1)
       else
          edit1.text:=floattostr(strtofloat(formatdatetime('yyyy""mm""dd',Date))*10000+1);
       
     end;

    with ADOQuery1 do
     begin
       close;
       sql.clear;
       sql.add('select  * from YPRK where RKDH='+''''+edit1.text+'''');
       open;
       first;
       DBgrid1.Columns[0].FieldName:='YPBH';
       DBgrid1.Columns[1].FieldName:='YPMC';
       DBgrid1.Columns[2].FieldName:='YPLB';
       DBgrid1.Columns[3].FieldName:='JLDW';
       DBgrid1.Columns[4].FieldName:='GRSL';
       DBgrid1.Columns[5].FieldName:='GRDJ';
       DBgrid1.Columns[6].FieldName:='ZFJE';
     end;
   
end;

procedure TYPRKFrm.Button4Click(Sender: TObject);
begin
    YPRKFrm.hide;
end;

procedure TYPRKFrm.Button6Click(Sender: TObject);
begin
    YPRKFrm.hide;
end;

procedure TYPRKFrm.Button5Click(Sender: TObject);
var query:string;
begin
    query:='';
    if Radiobutton1.checked=true then
       if edit4.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from YPRK where RKDH like'+''''+'%'+edit4.text+'%'+'''';
    if Radiobutton2.checked=true then
       if edit5.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from YPRK where JSR like'+''''+'%'+edit5.text+'%'+''''+'order by RKDH desc';
    if Radiobutton3.checked=true then
       if edit6.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from YPRK where RKRQ ='+''''+edit6.text+''''+'order by RKDH desc';
    if Radiobutton4.checked=true then
       if edit7.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from YPRK where YPMC like'+''''+'%'+edit7.text+'%'+''''+'order by RKDH desc';
    
   if query<>'' then
    begin
    with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add(query);
       open;
       first;
       if recordcount=0 then
           showmessage('对不起,没有符合条件的查询结果!请重新查询!')
       else
          begin
           DBgrid2.Columns[0].FieldName:='RKDH';
           DBgrid2.Columns[1].FieldName:='YPBH';
           DBgrid2.Columns[2].FieldName:='YPMC';
           DBgrid2.Columns[3].FieldName:='YPLB';
           DBgrid2.Columns[4].FieldName:='JLDW';
           DBgrid2.Columns[5].FieldName:='GRSL';
           DBgrid2.Columns[6].FieldName:='GRDJ';
           DBgrid2.Columns[7].FieldName:='ZFJE';
           DBgrid2.Columns[8].FieldName:='RKRQ';
           DBgrid2.Columns[9].FieldName:='JSR';
          Groupbox3.caption:='查询结果共'+floattostr(recordcount)+'条记录'
          end;
      end;
    end;     
end;

procedure TYPRKFrm.TabSheet2Show(Sender: TObject);
begin
     edit6.Text:=datetostr(date);
     radiobutton1.checked:=true;
end;



procedure TYPRKFrm.Button3Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('YPRKReport');
    MainFrm.RvProject1.Close;
end;

procedure TYPRKFrm.Button7Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('RKCXReport');
    MainFrm.RvProject1.Close;
end;

end.

⌨️ 快捷键说明

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