?? dmove.pas
字號:
unit Dmove;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unitmb, ImgList, Menus, ComCtrls, ToolWin, Grids, DBGridEh,
Buttons, StdCtrls, ExtCtrls, FR_Ctrls,db, Mask, DBCtrls, dbcgrids,
DBCtrlsEh;
type
TDmoveForm = class(TmbForm)
procedure edtNameButtonClick(Sender: TObject);
private
{ Private declarations }
procedure InitInfo;override;
procedure InsertDetail;override;
procedure InsertMaster(sInvono:string);override;
procedure UpdateMaster;override;
procedure ShowMasterSpecial(bAdd:boolean);override;
public
{ Public declarations }
end;
var
DmoveForm: TDmoveForm;
implementation
uses datamodule1, selPaytype;
{$R *.dfm}
procedure TDMoveForm.InitInfo;
begin
inherited;
nCusId:=100;
nEmployId:=100;
end;
procedure TDMoveForm.InsertDetail;
var
sSql:string;
begin
with dataE2 do
begin
sSql:='( :billid, :itemno, :goodsid, :units, :qty, :price, :disc, :memo1)';
adoCmd.commandtext:='insert into '+myTable+'D values '+sSql;
adoCmd.parameters[0].value:=nBillId;
adoCmd.parameters[1].value:=queryDetail.fieldbyname('itemno').asinteger;
adoCmd.parameters[2].value:=nGoodsId;
adoCmd.parameters[3].value:=queryDetail.fieldbyname('units').asstring;
adoCmd.parameters[4].value:=nQty;
adoCmd.parameters[5].value:=queryDetail.fieldbyname('price').ascurrency;
adoCmd.parameters[6].value:=queryDetail.fieldbyname('disc').asboolean;
adoCmd.parameters[7].value:=queryDetail.fieldbyname('memo1').asstring;
adoCmd.execute;
end;
end;
procedure TDMoveForm.InsertMaster(sInvoNo:string);
begin
with dataE2 do
InsertDMove(nBillid,nStoreid,noutStoreId,edtBillDate.date,edtInvono.text,edtMemo.text);
end;
procedure TDmoveForm.UpdateMaster;
var
sSql:string;
i:integer;
begin
sMasterMemo:=trim(edtMemo.text);
//dynamic sql sentence
i:=0;
with dataE2 do
begin
adoCmd.CommandText:='update '+mytable+' set ';
if nOldStoreId <> nStoreid then
begin
adoCmd.CommandText :=adoCmd.CommandText +' inStoreid= :instroeId ';
adoCmd.Parameters[i].value:=nStoreId;
inc(i);
end;
if nOldOutStoreId <> nOutStoreid then
begin
if i >0 then adoCmd.CommandText :=adoCmd.CommandText +',';
adoCmd.CommandText :=adoCmd.CommandText +' OutStoreid= :outstroeId ';
adoCmd.Parameters[i].value:=nOutStoreId;
inc(i);
end;
if sMasterMemo <> sOldMasterMemo then
begin
if i >0 then adoCmd.CommandText :=adoCmd.CommandText +',';
adoCmd.CommandText :=adoCmd.CommandText +' Memo= :Memo ';
adoCmd.Parameters[i].value:=sMastermemo;
inc(i);
end;
if i>0 then
begin
adoCmd.CommandText :=adoCmd.CommandText +' where BillId= :Billid ';
adoCmd.parameters[i].value:=nBillid;
adoCmd.Execute ;
end;
end; //dataE2
end;
procedure TDmoveForm.edtNameButtonClick(Sender: TObject);
begin
dlgselPayType.Newsql:='select storeid as id,name from store ';
dlgSelpaytype.Top :=self.top+(sender as TComboBox).Top +81+89;//toolbar1.height+edtInstore.Height+20 ;
dlgSelpaytype.Left :=self.Left+(sender as TComboBox).left+4 ;
if dlgselPayType.showmodal=mrok then
with dataE2 do
begin
(sender as TComboBox).Text :=dlgselPayType.xName;
nOutStoreId:=dlgSelPaytype.xid;
end;
end;
procedure TDmoveForm.ShowMasterSpecial(bAdd:boolean);
var
s,sSql:string;
begin
with DataE2 do
if not bAdd then
begin
nStoreId:=adoquery1.fieldbyname('instoreId').asinteger;
nOutStoreId:=adoquery1.fieldbyname('OutstoreId').asinteger;
sMasterMemo:=trim(adoquery1.fieldbyname('Memo').asstring);
s:='';
if tblStore.Locate('storeid',nstoreId,[loPartialKey])
then s:=tblStore.fieldbyname('name').asstring;
edtStore.text:=s;
s:='';
if tblStore.Locate('storeid',nOutstoreId,[loPartialKey])
then s:=tblStore.fieldbyname('name').asstring;
edtName.text:=s;
end
else begin //add emptye record,so clear last infomation
edtStore.Text:='';
edtName.text:='';
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -