📄 unit_master.~pas
字号:
unit unit_master;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, Grids, DBGrids, ExtCtrls, Buttons, ToolWin,
StdCtrls, DB, ADODB;
type
TfrmMaster = class(TForm)
CoolBar: TCoolBar;
SpeedButton30: TSpeedButton;
SB_Save: TSpeedButton;
SpeedButton31: TSpeedButton;
SB_Add: TSpeedButton;
SB_Delete: TSpeedButton;
SpeedButton34: TSpeedButton;
SpeedButton35: TSpeedButton;
TVMaster: TTreeView;
Splitter2: TSplitter;
DBGMaster: TDBGrid;
StatusBar2: TStatusBar;
ImageList1: TImageList;
ADOMaster: TADOQuery;
DSMaster: TDataSource;
GB: TGroupBox;
Label1: TLabel;
Ed_PName: TEdit;
Cb_PType: TComboBox;
Label2: TLabel;
Label3: TLabel;
Cb_Unit: TComboBox;
BtAdd: TBitBtn;
BtDelete: TBitBtn;
procedure TVMasterClick(Sender: TObject);
procedure SB_AddClick(Sender: TObject);
procedure SB_DeleteClick(Sender: TObject);
procedure SB_SaveClick(Sender: TObject);
procedure DSMasterDataChange(Sender: TObject; Field: TField);
procedure DBGMasterKeyPress(Sender: TObject; var Key: Char);
procedure BtAddClick(Sender: TObject);
procedure BtDeleteClick(Sender: TObject);
procedure SpeedButton30Click(Sender: TObject);
private
procedure TreeViewClick();
public
{ Public declarations }
end;
var
frmMaster: TfrmMaster;
implementation
uses unit_main_dm;
{$R *.dfm}
procedure TfrmMaster.TreeViewClick();
var col:TColumn; tmp:TADOQuery;
begin
if TVMaster.Selected.Text='产品资料' then
begin
GB.Visible:=true; CoolBar.Enabled:=false;DBGMaster.ReadOnly:=true;
end
else
begin GB.Visible:=false;CoolBar.Enabled:=true;DBGMaster.ReadOnly:=false;
end;
if (TVMaster.Selected.Text='基本资料') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
end;
if (TVMaster.Selected.Text='员工资料') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_employee');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='employee_no';
col.Width:=60;
col.Title.Caption:='员工编号';
col:=DBGMaster.Columns.Add;
col.FieldName:='employee_name';
col.Width:=80;
col.Title.Caption:='员工姓名';
col:=DBGMaster.Columns.Add;
col.FieldName:='Dep_ID';
col.Width:=60;
col.Title.Caption:='所属部门';
col:=DBGMaster.Columns.Add;
col.FieldName:='telephone';
col.Width:=80;
col.Title.Caption:='联系电话';
col:=DBGMaster.Columns.Add;
col.FieldName:='email';
col.Width:=160;
col.Title.Caption:='电子信箱';
col:=DBGMaster.Columns.Add;
col.FieldName:='probation';
col.Width:=60;
col.Title.Caption:='职位';
col:=DBGMaster.Columns.Add;
col.FieldName:='note';
col.Width:=180;
col.Title.Caption:='备注';
end;
end;
if (TVMaster.Selected.Text='产品资料') then
begin
tmp:=TADOQuery.Create(self);
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('exec sp_cjh_query_product');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Prod_Type';
col.Width:=100;
col.Title.Caption:='产品类型';
col.PickList.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Pruduct_Des';
col.Width:=150;
col.Title.Caption:='产品描述';
col:=DBGMaster.Columns.Add;
col.FieldName:='Prod_Unit';
col.Width:=70;
col.Title.Caption:='产品单位';
col.PickList.Clear;
tmp.Close;
tmp.Connection:=Main_DM.ADOConn;
tmp.SQL.Clear;
Cb_Unit.Items.Clear;
tmp.SQL.Add('select Unit_Des from ms_Unit');
tmp.Open;
while not tmp.Eof do
begin
Cb_Unit.Items.Add(Trim(tmp.FieldByName('Unit_Des').AsString));
tmp.Next;
end;
tmp.Close;
tmp.Connection:=Main_DM.ADOConn;
tmp.SQL.Clear;
Cb_PType.Items.Clear;
tmp.SQL.Add('select Prod_Type from ms_prod_type');
tmp.Open;
while not tmp.Eof do
begin
Cb_PType.Items.Add(Trim(tmp.FieldByName('Prod_Type').AsString));
tmp.Next;
end;
tmp.Free;
end;
end;
if (TVMaster.Selected.Text='单位设置') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_unit');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Unit_No';
col.Width:=60;
col.Title.Caption:='单位编号';
col:=DBGMaster.Columns.Add;
col.FieldName:='Unit_Des';
col.Width:=80;
col.Title.Caption:='单位描述';
end;
end;
if (TVMaster.Selected.Text='客户类型') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_customer_type');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Type_No';
col.Width:=60;
col.Title.Caption:='类型编号';
col:=DBGMaster.Columns.Add;
col.FieldName:='Type_Des';
col.Width:=80;
col.Title.Caption:='类型描述';
col:=DBGMaster.Columns.Add;
col.FieldName:='note';
col.Width:=180;
col.Title.Caption:='备注';
end;
end;
if (TVMaster.Selected.Text='客户等级') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_customer_level');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='ms_customer_level';
col.Width:=60;
col.Title.Caption:='等级编号';
col:=DBGMaster.Columns.Add;
col.FieldName:='Level_Des';
col.Width:=80;
col.Title.Caption:='等级描述';
col:=DBGMaster.Columns.Add;
col.FieldName:='note';
col.Width:=180;
col.Title.Caption:='备注';
end;
end;
if (TVMaster.Selected.Text='产品类型') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_prod_type');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Prod_Type';
col.Width:=150;
col.Title.Caption:='类型描述';
end;
end;
if (TVMaster.Selected.Text='付款类型') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_pay_type');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Pay_Type_No';
col.Width:=60;
col.Title.Caption:='付款编号';
col:=DBGMaster.Columns.Add;
col.FieldName:='Pay_Type_Des';
col.Width:=150;
col.Title.Caption:='付款描述';
col:=DBGMaster.Columns.Add;
col.FieldName:='note';
col.Width:=150;
col.Title.Caption:='备注';
end;
end;
if (TVMaster.Selected.Text='进货类型') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_in_type');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='In_Type';
col.Width:=150;
col.Title.Caption:='类型描述';
end;
end;
if (TVMaster.Selected.Text='出货类型') then
begin
ADOMaster.Close;
ADOMaster.SQL.Clear;
ADOMaster.SQL.Add('select * from ms_out_type');
ADOMaster.Open;
with DBGMaster.Columns do
begin
DBGMaster.Columns.Clear;
col:=DBGMaster.Columns.Add;
col.FieldName:='Out_Type';
col.Width:=100;
col.Title.Caption:='销售类型';
col:=DBGMaster.Columns.Add;
col.FieldName:='note';
col.Width:=150;
col.Title.Caption:='备注';
end;
end;
end;
procedure TfrmMaster.TVMasterClick(Sender: TObject);
begin
TreeViewClick();
end;
procedure TfrmMaster.SB_AddClick(Sender: TObject);
begin
if ADOMaster.Active then
begin
if(ADOMaster.RecNo=ADOMaster.RecordCount) then
begin
ADOMaster.Append;
end
else
begin
ADOMaster.Insert;
end;
SB_Add.Enabled:=false;
Sb_Save.Enabled:=true;
end;
end;
procedure TfrmMaster.SB_DeleteClick(Sender: TObject);
begin
if((ADOMaster.RecordCount>0) and (MessageBox(handle,'确定删除这笔记录吗?', '提示', MB_YESNO)=IDYES)) then
ADOMaster.Delete;
end;
procedure TfrmMaster.SB_SaveClick(Sender: TObject);
begin
ADOMaster.Post;
SB_Save.Enabled:=false;
SB_Add.Enabled:=true;
end;
procedure TfrmMaster.DSMasterDataChange(Sender: TObject; Field: TField);
begin
SB_Save.Enabled:=false;
SB_Add.Enabled:=true;
end;
procedure TfrmMaster.DBGMasterKeyPress(Sender: TObject; var Key: Char);
begin
if(Key=#13) then
sendmessage(DBGMaster.handle,WM_KEYDOWN,VK_TAB,0) ;
end;
procedure TfrmMaster.BtAddClick(Sender: TObject);
var sPType,sPName,sUnit,snote,_sql:string;
tmp:TADOQuery;
begin
if (Cb_PType.Text='') or (Ed_PName.Text='') or (Cb_Unit.Text='') then
ShowMessage('不可以为空值,请填写完整');
Cb_PType.SetFocus;
tmp:=TADOQuery.Create(self);
tmp.Connection:=Main_DM.ADOConn;
tmp.Close;
tmp.SQL.Clear;
sPType:=Trim(Cb_PType.Text);
sPName:=Trim(Ed_PName.Text);
sUnit:= Trim(Cb_Unit.Text);
_sql:='exec sp_cjh_insert_product '''+sPType+''','''+sPName+''','''+sUnit+'''';
tmp.SQL.Add(_sql);
tmp.ExecSQL;
ADOMaster.Close;
ADOMaster.Open;
tmp.Free;
Cb_PType.Text:='';
Ed_PName.Text:='';
Cb_Unit.Text:='';
end;
procedure TfrmMaster.BtDeleteClick(Sender: TObject);
var id:string;tmp:TADOQuery;
begin
tmp:=TADOQuery.Create(self);
tmp.Connection:=Main_DM.ADOConn;
tmp.Close;
tmp.SQL.Clear;
if not ADOMaster.IsEmpty then
begin
if MessageDlg('确定删除这笔数据吗,这样如果有销售资料将查找不到这种产品?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
id:=ADOMaster.FieldByName('ID').AsString;
tmp.SQL.Add('delete ms_product where id='''+id+'''');
tmp.ExecSQL;
ADOMaster.Close;
ADOMaster.Open;
end;
end;
end;
procedure TfrmMaster.SpeedButton30Click(Sender: TObject);
var newtab:TTabSheet;
begin
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -