📄 formsell.pas
字号:
unit FormSell;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, Buttons, ToolWin, Grids, DBGrids, StdCtrls, Db, DBTables, Mask,
DBCtrls, ADODB, ExtCtrls;
type
TSell = class(TForm)
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label1: TLabel;
Label6: TLabel;
DataSource1: TDataSource;
ADOTable1: TADOTable;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
ADOQuery1: TADOQuery;
Button3: TButton;
ADOTable2: TADOTable;
DataSource2: TDataSource;
GroupBox3: TGroupBox;
Label7: TLabel;
ComboBox1: TComboBox;
Edit7: TEdit;
Button4: TButton;
Button5: TButton;
DBGrid2: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button2Click(Sender: TObject);
procedure DBGrid2CellClick(Column: TColumn);
procedure Edit2Change(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Edit3Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Sell: TSell;
ID:String;
implementation
uses FormManage;
{$R *.DFM}
procedure TSell.FormClose(Sender: TObject; var Action: TCloseAction);
begin
manage.Show;
end;
procedure TSell.Button1Click(Sender: TObject);
begin
//ShowMessage(Edit4.Text+'***********'+adoTable2.fieldbyname('库存数').AsString );
if Edit4.Text>adoTable2.fieldbyname('库存数').AsString then
begin
ShowMessage('对不起,您选择的商品我们只有'+adoTable2.fieldbyname('库存数').AsString+'件,请您重新输入!');
Edit4.SetFocus;
end
else
begin
AdoTable1.Append;
AdoTable1.FieldValues['销售日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['销售数量'] := Edit4.text;
AdoTable1.FieldValues['销售单价'] := Edit5.text;
AdoTable1.FieldValues['销售金额'] := Edit6.text;
AdoTable1.Post;
AdoTable2.Edit;
AdoTable2.FieldValues['库存数']:=AdoTable2.FieldValues['库存数']-StrToInt(Edit4.Text);
AdoTable2.Post;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
end
end;
procedure TSell.FormCreate(Sender: TObject);
begin
Edit1.Text:=DateToStr(Date);
//Edit2.Clear;
//Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
end;
procedure TSell.Edit2Exit(Sender: TObject);
begin
//ShowMessage(Edit1.Text);
end;
procedure TSell.Edit4Exit(Sender: TObject);
begin
// ShowMessage( adoquery1.fieldbyname('库存数').AsString +'*****************'+Edit4.Text);
if Edit4.Text='' then
begin
ShowMessage('请输入您购买的药品数量');
Edit4.SetFocus;
end
else
Edit6.Text:=FloatToStr(StrToFloat(Edit5.Text)*StrToFloat(Edit4.Text));
end;
procedure TSell.Button3Click(Sender: TObject);
begin
AdoTable2.Edit;
AdoTable2.FieldValues['库存数']:=AdoTable2.FieldValues['库存数']+AdoTable1.FieldValues['销售数量']-StrToInt(Edit4.Text);
AdoTable2.Post;
AdoTable1.Edit;
AdoTable1.FieldValues['销售日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['销售数量'] := Edit4.text;
AdoTable1.FieldValues['销售单价'] := Edit5.text;
AdoTable1.FieldValues['销售金额'] := Edit6.text;
AdoTable1.Post;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
end;
procedure TSell.Button4Click(Sender: TObject);
begin
if Edit7.Text<>''then
//ShowMessage( ComboBox1.Items[0]+'****************'+Edit7.text);
begin
if AdoTable1.Locate(ComboBox1.Items[ComboBox1.ItemIndex],Edit7.text,[loCaseInsensitive, loPartialKey]) then
begin
//ShowMessage(BooleanToStr(a));
Edit1.Text:=DateToStr(AdoTable1.FieldValues['销售日期']);
Edit2.text:=AdoTable1.FieldValues['药品名称'];
Edit3.Text:=AdoTable1.FieldValues['药品代码'];
Edit4.Text:=IntToStr(AdoTable1.FieldValues['销售数量']);
Edit5.Text:=FloatToStr(AdoTable1.FieldValues['销售单价']);
Edit6.text:=FloatToStr(AdoTable1.FieldValues['销售金额']);
end
else
ShowMessage('对不起,查不到您输入的药品信息!');
end
else
begin
ShowMessage('请输入要查询的药品名称!');
Edit7.SetFocus;
end
end;
procedure TSell.DBGrid1CellClick(Column: TColumn);
begin
Edit1.Text:=DateToStr(AdoTable1.FieldValues['销售日期']);
//Edit2.text:=AdoTable1.FieldValues['药品名称'];
Edit3.Text:=AdoTable1.FieldValues['药品代码'];
Edit4.Text:=IntToStr(AdoTable1.FieldValues['销售数量']);
//Edit5.Text:=FloatToStr(AdoTable1.FieldValues['销售单价']);
Edit6.text:=FloatToStr(AdoTable1.FieldValues['销售金额']);
end;
procedure TSell.Button2Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 药品信息 where 药品名称='''+edit2.Text+'''');
adoquery1.Open;
if adoquery1.fieldbyname('药品代码').AsString<>'' then
begin
AdoTable2.Locate('药品代码',adoquery1.fieldbyname('药品代码').AsString,[loCaseInsensitive, loPartialKey]);
AdoTable2.Edit;
AdoTable2.FieldValues['库存数']:=AdoTable2.FieldValues['库存数']+StrToInt(Edit4.Text);
AdoTable2.Post;
ADOTable1.Delete;
end
end;
procedure TSell.DBGrid2CellClick(Column: TColumn);
begin
Edit3.Text:=AdoTable2.FieldValues['药品代码'];
Edit4.Clear;
Edit6.Clear;
end;
procedure TSell.Edit2Change(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 药品信息 where 药品名称='''+edit2.Text+'''');
adoquery1.Open;
edit5.Text:=adoquery1.fieldbyname('销售单价').AsString;
edit3.Text:=adoquery1.fieldbyname('药品代码').AsString;
end;
procedure TSell.Button5Click(Sender: TObject);
begin
Sell.Hide;
Manage.Show;
end;
procedure TSell.Edit3Change(Sender: TObject);
begin
AdoTable2.Locate('药品代码',Edit3.text,[loCaseInsensitive, loPartialKey]);
edit5.Text:=adoTable2.FieldValues['销售单价'];
edit2.Text:=adoTable2.FieldValues['药品名称'];
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -