📄 unit12.pas
字号:
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Grids, DBGridEh, Buttons, ComCtrls, ToolWin;
type
TForm12 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
DateTimePicker1: TDateTimePicker;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit2: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
ComboBox1: TComboBox;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
SpeedButton15: TSpeedButton;
ToolButton6: TToolButton;
SpeedButton1: TSpeedButton;
ToolButton8: TToolButton;
SpeedButton5: TSpeedButton;
ToolButton7: TToolButton;
SpeedButton11: TSpeedButton;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
Button1: TButton;
Label9: TLabel;
Edit3: TEdit;
Edit7: TEdit;
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
private
procedure ZdID(aSql: string);
function QueryTabel(aSql: string): Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Data, Unit1;
{$R *.dfm}
procedure TForm12.SpeedButton11Click(Sender: TObject);
begin
close;
end;
procedure TForm12.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 TForm12.Button1Click(Sender: TObject);
begin
ZdID('');//自动生成编号
end;
function TForm12.QueryTabel(aSql: string): Boolean;
begin
with MyData do
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(aSql);
ADOQuery1.Open;
end;
end;
procedure TForm12.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:='OC'+IntToStr(StrToInt(ADOSelect.Fields.Fields[0].Value)+10000);
end
else
Sum:='OC10000';
edit1.Text:=Sum;
end;
end;
procedure TForm12.FormShow(Sender: TObject);
begin
if (Form1.Qx='浏览者') then
begin
SpeedButton15.Enabled:=False;
SpeedButton5.Enabled:=False;
end;
QueryTabel('Select * From 产品出库单资料');
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 TForm12.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;
edit6.Text:=ADOSelect.FieldByName('入库量').AsString;
edit7.Text:=ADOSelect.FieldByName('存放仓库').AsString;
end;
end;
end;
procedure TForm12.SpeedButton1Click(Sender: TObject);
begin
QueryTabel('Select * From 产品出库单资料');
end;
procedure TForm12.SpeedButton15Click(Sender: TObject);
var
acheck:string;
i,j: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(Edit3.Text)='' then
begin
MessageBox(Handle, '请输入出库数量!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit6.SetFocus;
Exit;
end;
i:=Strtoint(Trim(Edit6.Text));
j:=strtoint(trim(Edit3.Text));
if j>i then
begin
MessageBox(Handle, '输入的出库量大于现有存库!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Exit;
end;
try
MyData.ADOConnection1.BeginTrans;
DataSource1.DataSet.Insert;
DataSource1.DataSet.FieldByName('产品出库单编号').AsString:=Edit1.Text;
DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
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;
DataSource1.DataSet.FieldByName('所在仓库').AsString:=Edit7.Text;
DataSource1.DataSet.FieldByName('出库量').AsString:=Edit3.Text;
DataSource1.DataSet.Post;
with MyData do
begin
if i>j then
begin
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add('Select * from 产品入库单资料 where 产品编号='''+combobox1.Text+'''');
ADOSelect.Open;
ADOSelect.Edit;
ADOSelect.FieldByName('入库量').AsString:=IntToStr(i-j);
ADOSelect.Post;
end
else
begin
ADOSelect.SQL.Clear;
ADOSelect.SQL.Add('Delete from 产品入库单资料 where 产品编号='''+combobox1.Text+'''');
ADOSelect.ExecSQL;
end;
end;
MyData.ADOConnection1.CommitTrans;
Edit2.Clear; Edit3.Clear; Edit4.Clear; Edit5.Clear ;Edit6.Clear;
Edit7.Clear;
// ZdID('');//自动生成编号
MessageBox(Handle, '产品出库成功!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
except
DataSource1.DataSet.Cancel;
MessageBox(Handle, '产品出库失败!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -