找回密码
 立即注册

QQ登录

只需一步,快速开始

tianyake

注册会员

23

主题

58

帖子

183

积分

注册会员

积分
183

活字格认证

tianyake
注册会员   /  发表于:2013-10-22 12:02  /   查看:6592  /  回复:7
spread绑定记录集

spread.datasource=记录集

在spread_change事件中,对另一列赋值
spread.setText col+1,row,x后,并不会更新到数据库中,只有手工输入时才会更新到数据库中

请问如何让setText后就立刻更新到数据库中,谢谢

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-10-22 14:36:00
沙发
回复 1楼tianyake的帖子

请通过以下方法保存:

  1. Private Sub Command1_Click()
  2.    
  3. Dim ret As Integer

  4. With fg
  5. .SetText 2, .ActiveRow, "Price"


  6. .DAutoSave = False
  7. ret = .SetCellDirtyFlag(2, .ActiveRow, True)
  8. ret = .SetCellDirtyFlag(4, .ActiveRow, True)
  9. .DataSave
  10. .DAutoSave = True
  11. End With
  12.    
  13.    
  14. End Sub
复制代码
回复 使用道具 举报
tianyake
注册会员   /  发表于:2013-10-22 15:07:00
板凳
谢谢,我试试
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-22 15:32:00
地板
回复 3楼tianyake的帖子

结果如何?主要是使用 SetCellDirtyFlag 标记。
回复 使用道具 举报
tianyake
注册会员   /  发表于:2013-10-22 15:38:00
5#
谢谢,用SetCellDirtyFlag就可以了
SetCellDirtyFlag这个方法我还是不太理解

随便问你一下,你这里为什么要用两条
ret = .SetCellDirtyFlag(2, .ActiveRow, True)
ret = .SetCellDirtyFlag(4, .ActiveRow, True)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-22 16:45:00
6#
回复 5楼tianyake的帖子

当Spread绑定数据时,SetCellDirtyFlag 方法用于标记目标单元格值已经改变,需要更新到数据库中。

ret = .SetCellDirtyFlag(4, .ActiveRow, True)
这句代码没用,可以删除。
回复 使用道具 举报
tianyake
注册会员   /  发表于:2013-10-22 17:39:00
7#
回复 6楼iceman的帖子

谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-22 18:14:00
8#
回复 7楼tianyake的帖子

不客气,有问题欢迎开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部