用DbNavigate的Insert后,怎样在这新添加记录中预设某一字段的值??(100分)

  • 主题发起人 主题发起人 戴炜
  • 开始时间 开始时间

戴炜

Unregistered / Unconfirmed
GUEST, unregistred user!
1.我用DbNavigate的Insert后,想在这个新添加的记录的CmpyNo字段自动
赋一个值,就在其CmpyQuery控件的AfterInsert事件设置了具体要赋值
的程序,但是,运行后,出错,提示:CmpyQuery not in Edit or Insert
Mode.
实际上,我在AfterInsert事件中测试,CmpyQuery.State =dsInsert
的。
what is happened ??
 
Try to add "CmpyQuery.Edit;"
 
在AfterInsert事件中,add "CmpyQuery.Edit;",问题依旧.
 
1、试试
onNewRecord 事件
在其中添加 具体要赋值的程序

2、是不是建立了 完整性定义之类的 约束条件
必须先在其主表中添加字段
 
新增一笔资料要能自动加入一个值是在TTable或是TQuery中的OnNewRecord的事件中写要做的事。
If not Ttable1.Status= [dsInsert,dsEdit] then
Begin
….
….

End;
 
应该用OnNewRecord事件,我以前曾经给一个新增的字段赋值Null
 
应该没有问题呀!我就做过:给新增加的记录自动赋值,但该字段为关键字。
可其余的字段更应该可以,是否应先给关键字赋值?
用INSERT绝对是可以的!具体情况下次再告知!或直接联系我--tanwei27@cmmail.com
 
AfterInsert,OnNewRecord都绝对可以,
不知老兄的RequesLive=True of False
 
赞同leechange的观点,选择AFTERINSERT或ONNEWRECORD事件是没问题的, 应该检查一下CmpyQuery的属性状态,估计是REQUESLIVE属性值有问题。
 
不好意思,再不接受答案,这100分快没得分了。

在这个问题提出后,第二天,我发现:虽然AfterInsert事件中

是dsInsert状态,但是,我执行了Query.Locate过程,这样,就又是

dsBrowse状态。所以,会提示“CmpyQuery not in Edit or Insert

Mode.”谢谢各位,大侠们的帮助,在下给各位作揖了。从你们的发言

中,我也有一定的见识。谢谢各位!!

只有100分,不好分。只能适当拉开距离。我也快喝西北风了。
banelon: 10
LeeChange: 20
less:20
lha:5
Motar Liu:10
popeye: 20
sww: 15


最后,在问各位:扩展名为DOF,TV,FAM的文件是什么文件,有什么用途!谢谢各位
 
后退
顶部