📄 productform.pas
字号:
unit productForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzTabs, StdCtrls, Mask, RzEdit, RzCmboBx, RzButton, Grids, DB,
DBGrids, RzDBGrid, ExtCtrls, RzPanel;
type
TProductListForm = class(TForm)
RzGroupBox1: TRzGroupBox;
RzDBGrid1: TRzDBGrid;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
Label1: TLabel;
RzComboBox1: TRzComboBox;
Label2: TLabel;
RzEdit1: TRzEdit;
RzBitBtn3: TRzBitBtn;
List: TRzComboBox;
RzBitBtn4: TRzBitBtn;
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
//检查本次订单中是否已经包含这一产品
function TestSellList:Boolean;
private
{ Private declarations }
public
{ Public declarations }
end;
var
ProductListForm: TProductListForm;
implementation
uses DM, Editsell, Search;
{$R *.dfm}
procedure TProductListForm.RzBitBtn1Click(Sender: TObject);
begin
//将所选择的产品加到销售列表中去
with DM1 do try
ADODataSet7.Append;
//检查本次订单中是否已经包含这一产品
if TestSellList then begin
Messagebox(handle,'本次订单中已经包含这一产品,请选择其他产品!','提示',MB_OK+MB_ICONWARNING);
ADODataSet7.Cancel;
Exit;
end ELSE begin
ADODataSet7.FieldByName('ID').AsString:=ADODataSet5.FieldByName('ID').AsString;
ADODataSet7.FieldByName('ProductName').AsString:=ADODataSet5.FieldByName('ProductName').AsString;
ADODataSet7.FieldByName('Spec').AsString:=ADODataSet5.FieldByName('Spec').AsString;
ADODataSet7.FieldByName('Unit').AsString:=ADODataSet5.FieldByName('Unit').AsString;
ADODataSet7.FieldByName('UnitPrice').AsFloat:=ADODataSet5.FieldByName('Price').AsFloat;
ADODataSet7.FieldByName('Number').AsInteger:=0;
ADODataSet7.FieldByName('Agio').AsFloat:=10;
ADODataSet7.Post;
// ADODataSet6.Requery();
// ADODataSet7.Requery();
end;
ProductListForm.Close;
Except
Messagebox(handle,'将产品信息添加到销售出现意外失败!','错误',MB_OK+MB_ICONERROR);
END;
end;
procedure TProductListForm.RzBitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TProductListForm.RzBitBtn3Click(Sender: TObject);
var
S, L, ID : String;
begin
//搜索产品
if (List.ItemIndex<0)or(RzEdit1.Text='')or(RzComboBox1.ItemIndex<0)then begin
Messagebox(handle,'请输入完整的搜索信息后再试!','提示',MB_OK+MB_ICONWARNING);
Exit;
end;
ID:=SearchForm.TransformData('ProductInfo',RzComboBox1.Text);
case List.ItemIndex of
0 : S:='=';
1 : S:='<=';
2 : S:='>=';
3 : S:='<';
4 : S:='>';
5 : S:=' like ';
end;
case RzCombobox1.ItemIndex of
0,1,2,3 : L:=''''+RzEdit1.Text+'''';
4,5 : L:= RzEdit1.Text;
end;
with DM1.ADODataSet5 do try
CLose;
case List.ItemIndex of
0,1,2,3,4 : CommandText:=('Select * from ProductInfo where '+ID+S+L);
5 : CommandText:=('Select * from ProductInfo where '+ID+S+'''%'+RzEdit1.Text+'%''');
end;
Open;
if RecordCount=0 then begin
Messagebox(handle,PChar('没有找到任何关于“'+RzEdit1.Text+'”的产品记录,请点击确定返回!'),'信息',MB_OK+MB_ICONINFORMATION);
Close;
CommandText:='Select * from ProductInfo';
Open;
end;
except
CommandText:='Select * from ProductInfo';
Open;
Messagebox(handle,'搜索产品失败,请检查所输入的关键词是否正确!','错误',MB_OK+MB_ICONERROR);
end;
end;
procedure TProductListForm.RzBitBtn4Click(Sender: TObject);
begin
//复位搜索后的数据库
with DM1.ADODataSet5 do try
Close;
CommandText:='Select * from ProductInfo';
Open;
except
end;
end;
function TProductListForm.TestSellList: Boolean;
begin
//检查本次订单中是否已经包含这一产品
Result:=false;
with DM1.ADOQuery1 do try
Close;
SQL.Clear;
SQL.Add('Select * from SellDetail where OrderFormID=:AM and ProductName=:PM');
Parameters.ParamByName('AM').Value:=EditSellForm.RzDBLabel1.Caption;
Parameters.ParamByName('PM').Value:=DM1.ADODataSet5.FieldByname('ProductName').AsString;
Open;
if (DM1.ADODataSet7.State in[dsInsert])and(RecordCount>0)then
Result:=True
else Result:=false;
Close;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -