📄 unit9.pas
字号:
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGridEh, Buttons, ComCtrls, ToolWin, StdCtrls;
type
TForm9 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
DateTimePicker1: TDateTimePicker;
GroupBox1: TGroupBox;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label4: TLabel;
Label12: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit3: TEdit;
Edit9: TEdit;
ComboBox1: TComboBox;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
SpeedButton15: TSpeedButton;
SpeedButton20: TSpeedButton;
ToolButton6: TToolButton;
SpeedButton1: TSpeedButton;
ToolButton8: TToolButton;
SpeedButton5: TSpeedButton;
ToolButton7: TToolButton;
SpeedButton11: TSpeedButton;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
Button1: TButton;
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1Change(Sender: TObject);
procedure Edit8Exit(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
function QueryTabel(aSql: string): Boolean;
procedure ZdID(aSql: string);
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Data, Unit1;
{$R *.dfm}
function TForm9.QueryTabel(aSql: string): Boolean;
begin
with MyData do
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(aSql);
ADOQuery1.Open;
end;
end;
procedure TForm9.SpeedButton11Click(Sender: TObject);
begin
close;
end;
procedure TForm9.SpeedButton5Click(Sender: TObject);
begin
if MessageBox(Handle, '你是否要删除?', '操作提示', MB_YESNO +
MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST)=IDYES then
begin
if DataSource1.DataSet.RecordCount>0 then
DataSource1.DataSet.Delete;
end;
end;
procedure TForm9.SpeedButton1Click(Sender: TObject);
begin
QueryTabel('Select * From 原料入库单资料');
end;
procedure TForm9.ZdID(aSql: string);
var
Sum:string;
begin
with MyData do
begin
aSql:='Select * from 原料入库单资料';
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add(aSql);
ADOSelect.Open;
if ADOSelect.RecordCount>0 then
begin
aSql:='Select max(id) from 原料入库单资料';
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add(aSql);
ADOSelect.Open;
Sum:='IY'+IntToStr(StrToInt(ADOSelect.Fields.Fields[0].Value)+10000);
end
else
Sum:='IY10000';
edit1.Text:=Sum;
end;
end;
procedure TForm9.FormShow(Sender: TObject);
begin
if (Form1.Qx='浏览者') then
begin
SpeedButton15.Enabled:=False;
SpeedButton20.Enabled:=False;
SpeedButton5.Enabled:=False;
end;
QueryTabel('Select * From 原料入库单资料');
ZdID('');
with MyData do
begin
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add('Select 原料编号 from 原料资料录入');
ADOSelect.Open;
ComboBox1.Clear;
while not ADOSelect.Eof do
begin
ComboBox1.Items.Add(ADOSelect.Fields.Fields[0].Value);
ADOSelect.Next;
end;
end;
end;
procedure TForm9.DBGridEh1DblClick(Sender: TObject);
begin
if DataSource1.DataSet.RecordCount<=0 then
begin
MessageBox(Handle, '没有数据源!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Exit;
end;
Edit1.Text:=DataSource1.DataSet.FieldByName('原料入库单编号').AsString;
DateTimePicker1.Date:= DataSource1.DataSet.FieldByName('时间').AsDateTime;
ComboBox1.Text:=DataSource1.DataSet.fieldByName('原料编号').AsString;
ComboBox1Change(Sender);
if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='东一' then
RadioButton1.Checked ;
if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='东二' then
RadioButton2.Checked ;
Edit8.Text:=DataSource1.DataSet.FieldByName('入库量').AsString;
Edit9.Text:=DataSource1.DataSet.FieldByName('总金额').AsString;
end;
procedure TForm9.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in['0'..'9',#13,#26,#8]) then
key:=#0;
end;
procedure TForm9.ComboBox1Change(Sender: TObject);
var
aSql:string;
begin
with MyData do
begin
aSql:='Select * from 原料资料录入 where 原料编号='''+Combobox1.text+'''';
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add(aSql);
ADOSelect.Open;
if ADOSelect.RecordCount>0 then
begin
edit4.Text:=ADOSelect.FieldByName('原料名称').AsString;
edit5.Text:=ADOSelect.FieldByName('颜色').AsString;
edit3.Text:=ADOSelect.FieldByName('供应商名称').AsString;
edit6.Text:=ADOSelect.FieldByName('单位').AsString;
edit7.Text:=ADOSelect.FieldByName('单价').AsString;
end;
end;
end;
procedure TForm9.Edit8Exit(Sender: TObject);
begin
if trim(edit8.Text)<>'' then
Edit9.Text:=IntToStr(StrToInt(Edit7.Text)* StrToInt(Edit8.Text));
end;
procedure TForm9.SpeedButton15Click(Sender: TObject);
var
acheck:string;
begin
if Trim(ComboBox1.Text)='' then
begin
MessageBox(Handle, '请选择原料编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
ComboBox1.SetFocus;
Exit;
end;
if Trim(Edit8.Text)='' then
begin
MessageBox(Handle, '请输入入库量!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit8.SetFocus;
Exit;
end;
try
MyData.ADOConnection1.BeginTrans;
DataSource1.DataSet.Insert;
DataSource1.DataSet.FieldByName('原料入库单编号').AsString:=Edit1.Text;
DataSource1.DataSet.FieldByName('原料编号').AsString:=ComboBox1.Text;
DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
DataSource1.DataSet.FieldByName('供应商').AsString:=Edit3.Text;
DataSource1.DataSet.FieldByName('单位').AsString:=Edit6.Text;
DataSource1.DataSet.FieldByName('单价').AsString:=Edit7.Text;
DataSource1.DataSet.FieldByName('入库量').AsString:=Edit8.Text;
DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
if RadioButton1.Checked then acheck:='东一';
if RadioButton2.Checked then acheck:='东二';
DataSource1.DataSet.FieldByName('存放仓库').AsString:=acheck;
DataSource1.DataSet.FieldByName('总金额').AsString:=Edit9.Text;
DataSource1.DataSet.Post;
with MyData do
begin
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add('Select * from 原料库存资料');
ADOSelect.Open;
ADOSelect.Append;
ADOSelect.FieldByName('原料编号').AsString:=ComboBox1.Text;
ADOSelect.FieldByName('原料名称').AsString:=Edit4.Text;
ADOSelect.FieldByName('颜色').AsString:=Edit5.Text;
ADOSelect.FieldByName('现有库存量').AsString:=Edit8.Text;
ADOSelect.FieldByName('最后修改时间').AsString:=DateToStr(DateTimePicker1.Date);
ADOSelect.FieldByName('所在仓库').AsString:=acheck;
ADOSelect.Post;
end;
MyData.ADOConnection1.CommitTrans;
Edit3.Clear; Edit4.Clear; Edit5.Clear ;Edit6.Clear;
Edit7.Clear;Edit8.Clear;Edit9.Clear;
MessageBox(Handle, '原料入库成功!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
except
DataSource1.DataSet.Cancel;
MyData.ADOConnection1.RollbackTrans;
MessageBox(Handle, '原料入库失败!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
end;
end;
procedure TForm9.SpeedButton20Click(Sender: TObject);
var
acheck:string;
begin
if Trim(ComboBox1.Text)='' then
begin
MessageBox(Handle, '请选择原料编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
ComboBox1.SetFocus;
Exit;
end;
if Trim(Edit8.Text)='' then
begin
MessageBox(Handle, '请输入入库量!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit8.SetFocus;
Exit;
end;
try
MyData.ADOConnection1.BeginTrans;
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldByName('原料入库单编号').AsString:=Edit1.Text;
DataSource1.DataSet.FieldByName('原料编号').AsString:=ComboBox1.Text;
DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
DataSource1.DataSet.FieldByName('供应商').AsString:=Edit3.Text;
DataSource1.DataSet.FieldByName('单位').AsString:=Edit6.Text;
DataSource1.DataSet.FieldByName('单价').AsString:=Edit7.Text;
DataSource1.DataSet.FieldByName('入库量').AsString:=Edit8.Text;
DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
if RadioButton1.Checked then acheck:='东一';
if RadioButton2.Checked then acheck:='东二';
DataSource1.DataSet.FieldByName('存放仓库').AsString:=acheck;
DataSource1.DataSet.FieldByName('总金额').AsString:=Edit9.Text;
DataSource1.DataSet.Post;
with MyData do
begin
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add('Select * from 原料库存资料 where 原料编号='''+combobox1.Text+'''');
ADOSelect.Open;
if not ADOSelect.Eof then
begin
ADOSelect.Edit;
ADOSelect.FieldByName('原料编号').AsString:=ComboBox1.Text;
ADOSelect.FieldByName('原料名称').AsString:=Edit4.Text;
ADOSelect.FieldByName('颜色').AsString:=Edit5.Text;
ADOSelect.FieldByName('现有库存量').AsString:=Edit8.Text;
ADOSelect.FieldByName('最后修改时间').AsString:=DateToStr(DateTimePicker1.Date);
ADOSelect.FieldByName('所在仓库').AsString:=acheck;
ADOSelect.Post;
end;
end;
MyData.ADOConnection1.CommitTrans;
Edit3.Clear; Edit4.Clear; Edit5.Clear ;Edit6.Clear;
Edit7.Clear;Edit8.Clear;Edit9.Clear;
MessageBox(Handle, '原料入库修改成功!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
except
DataSource1.DataSet.Cancel;
MyData.ADOConnection1.RollbackTrans;
MessageBox(Handle, '原料入库修改失败!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
end;
end;
procedure TForm9.Button1Click(Sender: TObject);
begin
ZdID('');//自动生成编号
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -