如何在增加一条记录时使某一字段值默认为上一条记录的该字段值。(100分)

  • 主题发起人 主题发起人 zjzjf
  • 开始时间 开始时间
你可以在b4 insert中写的什么
 
全局变量
var
vtRec: Variant;

在beforeinsert事件中写入
var
i: Integer;
begin
if DataSet.IsEmpty then
Exit;

if VarIsEmpty(vtRec) then
vtRec := varArrayCreate([0, DataSet.FieldCount - 1], varVariant)
else
VarArrayRedim(vtRec, DataSet.FieldCount - 1); //Resize the variant array.

RecDataSet := DataSet;
for i := 0 to DataSet.FieldCount - 1 do
vtRec := DataSet.Fields.Value;
end;

在afterinsert中写
var
i: Integer;
begin
if (VarIsEmpty(vtRec)) then
exit;

for i := 0 to DataSet.FieldCount - 1 do
DataSet.Fields.Value := vtRec;
end;


100分,嘻嘻
 
建立全局变量 THEVALUE
在TTABLE的BEFORE INSERT中写
THEVALUE := TABLE.FIELDBYNAME('').VALUE;

在AFTER INSERT中
TABLE.FIELDBYNAME('').VALUE;:= THEVALUE;
 
1、使用数据库一般支持缺省值。
2、使用程序!
建议使用1,因为这样修改时比较方便!不用重新编译程序,只需修改数据库的
设置!
 
全局变量: buffer: pchar;

在beforeinsert事件中写入

begin
reallocmem(buffer, Table1.RecordSize);
Table1.GetCurrentRecord(buffer);
end;

在afterinsert事件中:

begin
move(table1.ActiveBuffer^, buffer^, Table1.RecordSize);
end;

 
多人接受答案了。
 
后退
顶部