📄 newbookin.~pas
字号:
unit newbookin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Buttons, DB, ADODB,checkuser,main,bookinpt;
type
Tnewbookform = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label13: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Edit10: TEdit;
ComboBox1: TComboBox;
Label14: TLabel;
Edit11: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
Edit12: TEdit;
Label15: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit7Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
private
{ Private declarations }
procedure initform();
public
{ Public declarations }
end;
var
newbookform: Tnewbookform;
new:boolean;
implementation
{$R *.dfm}
{
[edit1.Text,//教材名
edit6.Text,//出版社
edit2.Text,//作者
edit5.Text,//获奖情况
strtodate(maskedit1.Text),//出版年月
combobox1.Text,//订书单位
edit3.Text,//经办人
strtoint(edit4.Text),//本次数量
strtocurr(edit7.Text),//教材单价
edit10.Text,//使用说明
date(), //入库时间
edit11.Text,//说明
username, //操作员
date()]); //最后修改时间
}
procedure Tnewbookform.initform();
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='0';
edit5.Text:='';
edit6.Text:='';
edit12.Text:='0';
edit12.ReadOnly:=true;
edit12.TabStop:=false;
edit7.Text:='0';
edit8.Text:='0';
edit8.ReadOnly:=true;
edit8.TabStop:=false;
edit10.Text:='';
edit11.Text:='';
edit12.Text:='0';
maskedit1.Text:='';
maskedit2.Text:=datetostr(date());
maskedit2.ReadOnly:=true;
maskedit2.TabStop:=false;
edit3.Text:=username;
edit1.Text:='';
edit2.Text:='';
edit6.Text:='';
edit7.Text:='0';
edit1.SetFocus;
end;
procedure Tnewbookform.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tnewbookform.FormActivate(Sender: TObject);
begin
initform;
ADOConnection1:=CheckUserForm.ADOConnection1;
adotable1.Connection:=ADOConnection1;
adotable1.TableName:='单位信息表';
adotable1.Open;
combobox1.Items.Clear;
while not adotable1.Eof do
begin
combobox1.Items.Add(adotable1.Fieldbyname('单位名').AsString);
adotable1.Next;
end;
new:=false;
end;
procedure Tnewbookform.Edit7Exit(Sender: TObject);
begin
adodataset1.Connection:=ADOConnection1;
adodataset1.Close;
adodataset1.CommandType:=cmdtext;
adodataset1.CommandText:='select * from 教材表 where 教材名 =:s0 ' +
'and 出版社=:s1 and 作者=:s2 and 教材单价=:s3';
adodataset1.Parameters.Clear;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[0].Name:='s0'; //教材名
adodataset1.Parameters[0].DataType:=ftstring;
adodataset1.Parameters[0].Direction:=pdinput;
adodataset1.Parameters[0].Value:=edit1.Text;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[1].Name:='s1';//出版社
adodataset1.Parameters[1].DataType:=ftstring;
adodataset1.Parameters[1].Direction:=pdinput;
adodataset1.Parameters[1].Value:=edit6.Text;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[2].Name:='s2';//作者
adodataset1.Parameters[2].DataType:=ftstring;
adodataset1.Parameters[2].Direction:=pdinput;
adodataset1.Parameters[2].Value:=edit2.Text;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[3].Name:='s3';//单价
adodataset1.Parameters[3].DataType:=ftstring;
adodataset1.Parameters[3].Direction:=pdinput;
adodataset1.Parameters[3].Value:=strtocurr(edit7.Text);
adodataset1.Active:=true;
if adodataset1.Recordset.RecordCount=0 then
begin
new:=true;
edit8.Text:='0';
edit12.Text:='0';
edit10.Text:='';
edit11.Text:='';
end
else
begin
new:=false;
maskedit1.Text:=datetostr(adodataset1.Fieldbyname('出版年月').AsDateTime);
edit3.Text:=adodataset1.Fieldbyname('经办人').AsString;
combobox1.Text:=adodataset1.Fieldbyname('订书单位').AsString;
edit8.Text:=inttostr(adodataset1.Fieldbyname('教材数量').AsInteger);
edit5.Text:=adodataset1.Fieldbyname('获奖情况').AsString;
edit10.Text:=adodataset1.Fieldbyname('使用说明').AsString;
edit11.Text:=adodataset1.Fieldbyname('说明').AsString;
end;
end;
procedure Tnewbookform.BitBtn1Click(Sender: TObject);
begin
adoquery1.Connection:=adoConnection1;
adoquery1.Close;
adotable1.Connection:=adoConnection1;
adotable1.Close ;
adoquery1.SQL.Clear;
if new=true then
begin
try
application.MessageBox('新加入了一条记录!','警告',mb_ok);
new:=false;
adotable1.TableName:='教材表';
adotable1.Open;
//向教材表中添加记录
adotable1.AppendRecord([edit1.Text,edit6.Text,edit2.Text,edit5.Text,
strtodate(maskedit1.Text), combobox1.Text, edit3.Text,strtoint(edit4.Text),
strtocurr(edit7.Text), edit10.Text,date(),edit11.Text,username,date()]);
adotable1.Close;
except
if application.MessageBox('输入数据错误','警告',mb_ok)=mb_ok then
abort;
end;
end
else
begin
adoquery1.SQL.Clear;
//-------------------更新教材表记录------------------------
adoquery1.SQL.Add('update 教材表 set 教材数量=:SL,最后修改时间=date(),' +
'说明=:s4 where 教材名=:s0 and 出版社=:s1 and ' +
'作者=:s2 and 教材单价=:s3 ');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='SL'; //教材数量
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=strtoint(edit12.Text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].Name:='s4'; //说明
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=edit11.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[2].Name:='s0'; //教材名
adoquery1.Parameters[2].DataType:=ftstring;
adoquery1.Parameters[2].Direction:=pdinput;
adoquery1.Parameters[2].Value:=edit1.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[3].Name:='s1';//出版社
adoquery1.Parameters[3].DataType:=ftstring;
adoquery1.Parameters[3].Direction:=pdinput;
adoquery1.Parameters[3].Value:=edit6.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[4].Name:='s2';//作者
adoquery1.Parameters[4].DataType:=ftstring;
adoquery1.Parameters[4].Direction:=pdinput;
adoquery1.Parameters[4].Value:=edit2.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[5].Name:='s3';//单价
adoquery1.Parameters[5].DataType:=ftstring;
adoquery1.Parameters[5].Direction:=pdinput;
adoquery1.Parameters[5].Value:=strtocurr(edit7.Text);
adoquery1.ExecSQL;
adoquery1.Close;
end;
//-------------------向教材出入库历史表中添加记录------------------------
adotable1.Close;
adotable1.TableName:='教材出入库历史表';
adotable1.Open;
adotable1.AppendRecord([edit1.Text,edit6.Text,edit5.Text,strtodate(maskedit1.Text),
combobox1.Text,edit3.Text,strtoint(edit8.Text),
strtoint(edit4.Text),strtoint(edit12.Text),
strtocurr(edit7.Text), edit10.Text,date(),edit11.Text,username,date()]);
adotable1.Close;
//--------------------教材入库打印凭证-------------------------------------
bookinptrform:=Tbookinptrform.Create(self);
bookinptrform:=Tbookinptrform.Create(self);
bookinptrform.QRLabel3.Caption:=edit1.Text;
bookinptrform.QRLabel6.Caption:=edit6.Text;
bookinptrform.QRLabel7.Caption:=combobox1.Text;
bookinptrform.QRLabel9.Caption:=edit10.Text;
bookinptrform.QRLabel11.Caption:=edit8.Text + '册';
bookinptrform.QRLabel13.Caption:=edit4.Text + '册';
bookinptrform.QRLabel15.Caption:=edit12.Text + '册';
bookinptrform.QRLabel17.Caption:=edit7.Text + '元/册';
bookinptrform.QRLabel23.Caption:=floattostr(strtofloat(edit12.Text)*strtofloat(edit7.Text)) + '元';
bookinptrform.QRLabel19.Caption:=username;
bookinptrform.QRLabel21.Caption:=datetostr(date());
bookinptrform.QuickRep1.Preview;
initform;
end;
procedure Tnewbookform.Edit4Exit(Sender: TObject);
begin
if edit4.Text='' then
edit4.Text:='0';
edit12.Text:=inttostr(strtoint(edit8.Text)+strtoint(edit4.Text));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -