📄 select_goods.pas
字号:
unit select_goods;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB;
type
Tselectgoodsfrm = class(TForm)
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label1: TLabel;
Edit1: TEdit;
RadioButton3: TRadioButton;
Edit2: TEdit;
procedure BitBtn2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
Function isReaptSelect():Boolean; //是否重复选择
private
{ Private declarations }
public
{ Public declarations }
end;
var
selectgoodsfrm: Tselectgoodsfrm;
N:Integer;//当前行
implementation
uses Stock_u;
{$R *.dfm}
procedure Tselectgoodsfrm.BitBtn2Click(Sender: TObject);
begin
if N>2 then
Stockfrm.stringgrid1.RowCount:=Stockfrm.stringgrid1.RowCount-1;
close;
end;
procedure Tselectgoodsfrm.Edit1Change(Sender: TObject);
var
mySQL:string;
begin
if RadioButton1.Checked then
MySQL:='select * from goodsinf where goodscode like '''+trim(edit1.text)+'%''';
if RadioButton2.Checked then
MySQL:='select * from goodsinf where goodsName like '''+trim(edit1.text)+'%''';
if RadioButton3.Checked then
MySQL:='select * from goodsinf where PYcode like '''+trim(edit1.text)+'%''';
with ADOQuery1 do
begin
close;
sql.Clear ;
sql.Add(MySQL);
open;
end;
end;
procedure Tselectgoodsfrm.BitBtn1Click(Sender: TObject);
begin
if (not ADOQuery1.Active) or(ADOQuery1.RecordCount <=0) then
begin
application.MessageBox('没有数据可选择!','提示',mb_ok+mb_IconExclamation);
exit;
end;
if isReaptSelect then
begin
application.MessageBox('该物品您已经选择!','提示',mb_ok+mb_IconExclamation);
exit;
end;
Stockfrm.stringgrid1.Cells[1,N-1]:=trim(Adoquery1.FieldByName('goodscode').Asstring) ;
Stockfrm.stringgrid1.Cells[2,N-1]:=trim(Adoquery1.FieldByName('goodsname').Asstring) ;
Stockfrm.stringgrid1.Cells[3,N-1]:=trim(Adoquery1.FieldByName('goodstype').Asstring) ;
Stockfrm.stringgrid1.Cells[4,N-1]:=trim(Adoquery1.FieldByName('goodsUnit').Asstring) ;
Stockfrm.stringgrid1.Cells[5,N-1]:='1' ; //数量
Stockfrm.stringgrid1.Cells[6,N-1]:=Adoquery1.FieldByName('进货价').AsString ;
Stockfrm.stringgrid1.Cells[7,N-1]:=Adoquery1.FieldByName('进货价').AsString ;
Stockfrm.Edit6.Text :=IntToStr(N-1);
close;
end;
Function Tselectgoodsfrm.isReaptSelect():Boolean; //是否重复选择
var
nRow,i:Integer;
begin
nRow:=Stockfrm.stringgrid1.RowCount ; //行数
for i:=1 to nRow-1 do
if Stockfrm.stringgrid1.Cells[1,i]=Adoquery1.FieldByName('goodscode').Asstring then
begin
result:=true;
break;
end
else
result:=False;
end;
procedure Tselectgoodsfrm.Edit2Change(Sender: TObject);
begin
N:=StrToInt(Edit2.Text) ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -