(舍命求解)如何在table+dbgrid方式录入多条记录时,及时得到table中一field的合计数!!!(100分)

  • 主题发起人 主题发起人 wzs
  • 开始时间 开始时间
W

wzs

Unregistered / Unconfirmed
GUEST, unregistred user!
还没写盘的情况下.
不要一条一条加!!!
我曾用clientdataset +pr....方式做过(不记的了)
(只有这100分了,舍命求解)
 
Table1.RecordCount得到记录数
Table1.FieldDefs.Count得到字段数
 
在table+dbgrid方式录入多条记录时,纪录下移时,会自动存盘.
而table中一field的合计数,可以靠触发事件来得到:
Table1.RecordCount得到记录数
Table1.FieldDefs.Count得到字段数(引用cytown)
 
Agree pxlei.
Why not use query?
 
>还没写盘的情况下.
>不要一条一条加!!!
什么意思??
 
你是要求字段值的合计吧?
大概和Cell的onexit有关...瞎猜的.
 
不是取记录数和field的统计数
是说取一field 的合计数
如:
aaa,20
bbb,50
ccc,70
------------
140
还没写盘的情况下是指还没写入table,还在内存中!
 
如果是绑定的grid,一旦一个cell失去焦点,就会发生post,怎么会还在内存中呢?
 
  同意cAkk(如果是绑定的grid,一旦一个cell失去焦点,就会发生post,怎么会还在内存中呢?)估计只有当前编辑的记录在内存中,若不用(不要一条一条加)则可用Query先秋初当前记录的合计,然后把当前编辑的值加入以求的合计之中。
 
  同意cAkk(如果是绑定的grid,一旦一个cell失去焦点,就会发生post,
怎么会还在内存中呢?)估计只有当前编辑的记录在内存中,若(不要一条一
条加),可用Query先求除了当前编辑记录的记录的合计,然后将当前编辑记录
的值加入合计中。

 
是不是启动了事务处理,最后一次性提交数据,如果是这样的话,确实不好办.
 
干吗,不是有DBGRIDEH,DEV Express DBGrid等等无数好控件
解决你的字段合计问题,太简单了。
 
就是,
1. 用DBGRID的立即提交, 然后SQL查询. DBGRID 的特点就是DBAWARE, 如果
不用这一特点, 干脆就不要用它了.
2. 用第三方构件.
 
虽post, 但还没有cacheupdate !
我想'DBGRIDEH,DEV Express DBGrid等等无数好控件'不能解决吧?!
如能,能告我是什么严理!!
 
你或许可以在Grid的OnColEnter和OnColExit中写一些东西达到你的目的.
 
完全没有问题,dbgrideh和express dbgrid,还有info power的grid
都支持cacheupdate mode,它能合计你已经post,但还没有cache update的
数据,你可以试试,我是用它解决问题的。
 
用Table+DbGrid做此项任务就是太麻烦,为何
不用ClientDataSet+DBGrid呢?
另外,要得到DBGrid中某列数据的和,可以用
TCustomDBGrid(yourdbgrid).row 与column
(属性记不请了,大概是它们)循环来做
 
+query+datasource
datasource->table
query.datasource=datasource
query.sql=sum(tt)
tt 为table 中的 field
 
谢谢各位,我已琢磨出来.
如有兴趣 ,通知我.
 
后退
顶部