|
发表于 2007-12-4 11:49:41
|
显示全部楼层
不好意思,漏了一些代码给你。
procedure TGYJSB.DataNavigator1BeforeAction(Sender: TObject; var Accept: Boolean);
Const
lErrMsg = '该季度的数据已经存在!!!';
Var
lBJD: TTBJD;
lYear,lQuarter: integer;
begin
case (Sender as TBizDataSetAction).ID of
BizActnConsts.ActionDataSetAppend:
begin
lBJD := TTBJD.create(context);
try
if lBJD.ShowModal = Business.Forms.Controls.mrOk then
begin
lYear := lBJD.DataSetNY.FieldByName('N').AsInteger;
lQuarter := lBJD.DataSetNY.FieldByName('JD').AsInteger;
//判断有没有该季度的数据存在
if WetherExitData(Fgsid,'GYJSBZB',lYear,lQuarter) then
begin
jsDialogs.ShowWarning(lErrMsg, '新建数据');
Accept := False;
Exit;
end;
GraphicTab.Index := 1;
//GraphicTabChange(nil,1); 提高速度
dsbMaster.DataSet.Append;
dsbMaster.DataSet.FieldByName('FYear').AsInteger := lBJD.DataSetNY.FieldByName('N').AsInteger;
dsbMaster.DataSet.FieldByName('FQuarter').AsInteger := lBJD.DataSetNY.FieldByName('JD').AsInteger;
dsbMaster.DataSet.FieldByName('LSZD1').AsInteger := 1;
SetDetailData;
end;
finally
lBJD.Free;
end;
Accept := False;
end;
BizActnConsts.ActionDataSetSave:
begin
dsbMaster.DataSet.edit;
dsbMaster.DataSet.FieldByName('LSZD1').AsInteger := 0;
dsbMaster.DataSet.post;
end;
end;
end;
在这个里面有 if WetherExitData(Fgsid,'GYJSBZB',lYear,lQuarter) then
'GYJSBZB' 这个就是表名。 |
|