📄 unit11.pas
字号:
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Grids, DBGridEh, Buttons, ComCtrls, ToolWin;
type
TForm11 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
DateTimePicker1: TDateTimePicker;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
ComboBox1: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit2: 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 Edit2Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
procedure ZdID(aSql: string);
function QueryTabel(aSql: string): Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses Data, Unit1;
{$R *.dfm}
function TForm11.QueryTabel(aSql: string): Boolean;
begin
with MyData do
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(aSql);
ADOQuery1.Open;
end;
end;
procedure TForm11.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:='IC'+IntToStr(StrToInt(ADOSelect.Fields.Fields[0].Value)+10000);
end
else
Sum:='IC10000';
edit1.Text:=Sum;
end;
end;
procedure TForm11.SpeedButton11Click(Sender: TObject);
begin
Close;
end;
procedure TForm11.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 TForm11.SpeedButton1Click(Sender: TObject);
begin
QueryTabel('Select * From 产品入库单资料');
end;
procedure TForm11.FormShow(Sender: TObject);
begin
if (Form1.Qx='浏览者') then
begin
SpeedButton15.Enabled:=False;
SpeedButton20.Enabled:=False;
SpeedButton5.Enabled:=False;
end;
QueryTabel('Select * From 产品入库单资料');
with MyData do
begin
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add('Select 生产单编号 from 生产单资料');
ADOSelect.Open;
Edit2.Clear;
while not ADOSelect.Eof do
begin
Edit2.Items.Add(ADOSelect.Fields.Fields[0].Value);
ADOSelect.Next;
end;
end;
end;
procedure TForm11.Edit2Change(Sender: TObject);
var
aSql:string;
begin
with MyData do
begin
aSql:='Select 产品编号,产品名称,颜色 from 生产单资料 where 生产单编号='''+edit2.text+'''';
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add(aSql);
ADOSelect.Open;
if ADOSelect.RecordCount>0 then
begin
ComboBox1.Text:=ADOSelect.FieldByName('产品编号').AsString;
edit4.Text:=ADOSelect.FieldByName('产品名称').AsString;
edit5.Text:=ADOSelect.FieldByName('颜色').AsString;
end;
end;
end;
procedure TForm11.Button1Click(Sender: TObject);
begin
ZdID('');//自动生成编号
end;
procedure TForm11.SpeedButton15Click(Sender: TObject);
var
acheck:string;
i,j,s,d:Integer;
begin
if Trim(Edit1.Text)='' then
begin
MessageBox(Handle, '请输入产品入库单编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit1.SetFocus;
Exit;
end;
if Trim(Edit2.Text)='' then
begin
MessageBox(Handle, '请输入生产单编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit2.SetFocus;
Exit;
end;
if Trim(ComboBox1.Text)='' then
begin
MessageBox(Handle, '请选择产品编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
ComboBox1.SetFocus;
Exit;
end;
if Trim(Edit4.Text)='' then
begin
MessageBox(Handle, '请填写产品名称!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit4.SetFocus;
Exit;
end;
if Trim(Edit5.Text)='' then
begin
MessageBox(Handle, '请填写颜色!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit5.SetFocus;
Exit;
end;
if Trim(Edit6.Text)='' then
begin
MessageBox(Handle, '请填写入库量!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit6.SetFocus;
Exit;
end;
try
MyData.ADOConnection1.BeginTrans;
DataSource1.DataSet.Insert;
DataSource1.DataSet.FieldByName('产品入库单编号').AsString:=Edit1.Text;
DataSource1.DataSet.FieldByName('生产单编号').AsString:=Edit2.Text;
DataSource1.DataSet.FieldByName('产品编号').AsString:=ComboBox1.Text;
DataSource1.DataSet.FieldByName('产品名称').AsString:=Edit4.Text;
DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
DataSource1.DataSet.FieldByName('入库量').AsString:=Edit6.Text;
if RadioButton1.Checked then
DataSource1.DataSet.FieldByName('存放仓库').AsString:='西一';
if RadioButton2.Checked then
DataSource1.DataSet.FieldByName('存放仓库').AsString:='西二';
DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
DataSource1.DataSet.Post;
MyData.ADOConnection1.CommitTrans;
ComboBox1.Clear; Edit4.Clear ;Edit6.Clear;
Edit5.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 TForm11.SpeedButton20Click(Sender: TObject);
var
acheck:string;
i,j,s,d:Integer;
begin
if Trim(Edit2.Text)='' then
begin
MessageBox(Handle, '请输入生产单编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
ComboBox1.SetFocus;
Exit;
end;
if Trim(ComboBox1.Text)='' then
begin
MessageBox(Handle, '请选择产品编号!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
ComboBox1.SetFocus;
Exit;
end;
if Trim(Edit4.Text)='' then
begin
MessageBox(Handle, '请填写产品名称!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit4.SetFocus;
Exit;
end;
if Trim(Edit5.Text)='' then
begin
MessageBox(Handle, '请填写颜色!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit5.SetFocus;
Exit;
end;
if Trim(Edit6.Text)='' then
begin
MessageBox(Handle, '请填写入库量!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit6.SetFocus;
Exit;
end;
try
MyData.ADOConnection1.BeginTrans;
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldByName('产品入库单编号').AsString:=Edit1.Text;
DataSource1.DataSet.FieldByName('生产单编号').AsString:=Edit2.Text;
DataSource1.DataSet.FieldByName('产品编号').AsString:=ComboBox1.Text;
DataSource1.DataSet.FieldByName('产品名称').AsString:=Edit4.Text;
DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
DataSource1.DataSet.FieldByName('入库量').AsString:=Edit6.Text;
if RadioButton1.Checked then
DataSource1.DataSet.FieldByName('存放仓库').AsString:='西一';
if RadioButton2.Checked then
DataSource1.DataSet.FieldByName('存放仓库').AsString:='西二';
DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
DataSource1.DataSet.Post;
MyData.ADOConnection1.CommitTrans;
ComboBox1.Clear; Edit4.Clear ;Edit6.Clear;
Edit5.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 TForm11.DBGridEh1DblClick(Sender: TObject);
begin
if DataSource1.DataSet.RecordCount<=0 then
begin
MessageBox(Handle, '没有数据源!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Exit;
end;
Edit2.Text:=DataSource1.DataSet.FieldByName('生产单编号').AsString;
DateTimePicker1.Date:=StrToDate(DataSource1.DataSet.FieldByName('时间').AsString);
ComboBox1.Text:=DataSource1.DataSet.FieldByName('产品编号').AsString;
Edit4.Text:=DataSource1.DataSet.FieldByName('产品名称').AsString;
Edit5.Text:=DataSource1.DataSet.FieldByName('颜色').AsString;
Edit6.Text:=DataSource1.DataSet.FieldByName('入库量').AsString;
if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='西一' then
RadioButton1.Checked ;
if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='西二' then
RadioButton2.Checked ;
end;
procedure TForm11.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if Length(Trim(edit2.Text))=0 then
begin
if not (key in ['I']) then
begin
edit2.Clear;
Key:=#0;
Application.MessageBox('产品编号第1个首字母为i', '友情提示',
MB_OK + MB_ICONWARNING);
end;
end;
if Length(Trim(edit1.Text))=1 then
begin
if not (key in ['C']) then
begin
edit2.Clear;
Key:=#0;
Application.MessageBox('产品编号第2个首字母为C', '友情提示',
MB_OK + MB_ICONWARNING);
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -