📄 frmgoodsdata.pas
字号:
unit frmGoodsData;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ComCtrls, Mask, DBCtrls,
ExtDlgs, ExtCtrls, LCDBOperatTool;
type
TFormGoodsData = class(TForm)
ADOConGoodsData: TADOConnection;
DSGoodsData: TDataSource;
DBGrid1: TDBGrid;
PCGoodsData: TPageControl;
TSBaseInfo: TTabSheet;
TSOther: TTabSheet;
ADOQGoods: TADOQuery;
DBEdtBarCode: TDBEdit;
DBEdtName: TDBEdit;
LUCBVendorId: TDBLookupComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DBEdtWeight: TDBEdit;
DBEdtVolumn: TDBEdit;
LUCBCheckupGrade: TDBLookupComboBox;
DBImage: TDBImage;
Button1: TButton;
LUCBGoodsCate: TDBLookupComboBox;
DBEdtAlias: TDBEdit;
Label10: TLabel;
Label11: TLabel;
DBEdtLifeSpan: TDBEdit;
LUCBLifeSpanUnit: TDBLookupComboBox;
Label12: TLabel;
LUCBWeightUnit: TDBLookupComboBox;
Label13: TLabel;
LUCBVolumnUnit: TDBLookupComboBox;
Label14: TLabel;
LUCBUnit: TDBLookupComboBox;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
LUCBABCCate: TDBLookupComboBox;
DBEdtUllageRate: TDBEdit;
DBEdtPrice: TDBEdit;
LUCBCurrencyUnit: TDBLookupComboBox;
DBEdtOrderInterval: TDBEdit;
DBEdtLeadTime: TDBEdit;
LUCBOrderPolicy: TDBLookupComboBox;
DBEdtSafetyStock: TDBEdit;
DBEdtMaxOrder: TDBEdit;
DBEdtMinOrder: TDBEdit;
DBEdtEOQ: TDBEdit;
PicDlg: TOpenPictureDialog;
ADOTCheckupGrade: TADOTable;
ADOTGoodsCate: TADOTable;
ADOTVendor: TADOTable;
ADOTWeightUnit: TADOTable;
ADOTLifeSpanUnit: TADOTable;
ADOTVolumnUnit: TADOTable;
ADOTUnit: TADOTable;
ADOTABCCate: TADOTable;
ADOTOrderPolicy: TADOTable;
ADOTCurrencyUnit: TADOTable;
DSCheckupGrade: TDataSource;
DSGoodsCate: TDataSource;
DSVendor: TDataSource;
DSWeightUnit: TDataSource;
DSVolumnUnit: TDataSource;
DSLifeSpanUnit: TDataSource;
DSUnit: TDataSource;
DSABCCate: TDataSource;
DSOrderPolicy: TDataSource;
DSCurrencyUnit: TDataSource;
CBField: TComboBox;
RBEqual: TRadioButton;
RBContain: TRadioButton;
EdtSearchValue: TEdit;
Button2: TButton;
LCDBOperatTool1: TLCDBOperatTool;
BtnAll: TButton;
ADOQuery: TADOQuery;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure LCDBOperatTool1Click(Btn: TToolButton;
var Continued: Boolean);
procedure BtnAllClick(Sender: TObject);
private
{ Private declarations }
function IsBarCodeExists(ABarCode: string): Boolean;//输入的条码是否已经存在
public
{ Public declarations }
end;
var
FormGoodsData: TFormGoodsData;
implementation
uses untConfig,CommonFunc,untGlobal, StrUtils;
{$R *.dfm}
procedure TFormGoodsData.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Perform(WM_NEXTDLGCTL,0,0);
end;
procedure TFormGoodsData.FormCreate(Sender: TObject);
var
i, n: Integer;
begin
ADOConGoodsData.Close;
ADOConGoodsData.ConnectionString := GetConnectionString;
try
ADOConGoodsData.Open;
n := self.ComponentCount - 1;
for i := 0 to n do
begin
if Components[i] is TADOTable then
(Components[i] as TADOTable).Open;
end;
ADOQGoods.Open;
except
LCShowMessage('连接数据库错误!');
ADOConGoodsData.Close;
end;
end;
procedure TFormGoodsData.FormDeactivate(Sender: TObject);
begin
ADOConGoodsData.Close;
end;
procedure TFormGoodsData.Button1Click(Sender: TObject);
begin
if PicDlg.Execute then
DBImage.Picture.LoadFromFile(PicDlg.FileName);
end;
function TFormGoodsData.IsBarCodeExists(ABarCode: string): Boolean;
begin
ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('select BarCode from t_GoodsMaster where BarCode=:BarCode');
ADOQuery.Parameters.ParamByName('BarCode').Value := ABarCode;
ADOQuery.Open;
if ADOQuery.RecordCount > 0 then
result := true
else
result := false;
end;
procedure TFormGoodsData.Button2Click(Sender: TObject);
var
LName, LCon, LValue: string;
LSql: string;
s: string;
begin
if (not CheckInput(CBField)) or (not CheckInput(EdtSearchValue))then Exit;
LName := CBField.Items.ValueFromIndex[CBField.ItemIndex];
LCon := IfThen(RBEqual.Checked,' = ', 'like');
s := Trim(EdtSearchValue.Text);
LValue := IfThen(RBEqual.Checked,QuotedStr(s),QuotedStr('%'+s+'%'));
LSql := Format('select * from t_GoodsMaster where %s %s %s',[LName, LCon, LValue]);
ADOQGoods.Close;
ADOQGoods.SQL.Text := LSql;
ADOQGoods.Open;
DSGoodsData.DataSet := ADOQGoods;
end;
procedure TFormGoodsData.LCDBOperatTool1Click(Btn: TToolButton;
var Continued: Boolean);
begin
if (Btn = tbPost) and (bmEdit <> LCDBOperatTool1.BtnMode) then
if IsBarCodeExists(Trim(DBEdtBarCode.Text)) then
begin
LCShowMessage('您指定的条形码已经存在!');
Continued := false;
end;
end;
procedure TFormGoodsData.BtnAllClick(Sender: TObject);
begin
ADOQGoods.Close;
ADOQGoods.SQL.Text := 'select * from t_GoodsMaster';
ADOQGoods.Open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -