Office中国论坛/Access中国论坛

标题: 复选框同步数据表的代码如何写 [打印本页]

作者: licho    时间: 2016-3-31 16:59
标题: 复选框同步数据表的代码如何写
因VBA不熟悉,弄了两天,主要是通过ACC的帮助,一边学习一边测试,很耗时,还要搞不出来。

中途得站长的指点(见下面的链接的帖子),可是还有很多问题没法解决。
http://www.office-cn.net/thread-121582-1-1.html
现将文件放上来,望坛里的热心人士出手帮忙解决。[attach]58595[/attach]
窗口界面
[attach]58594[/attach]
问题:如何将窗体适用范围那7个选项框的数据绑定到数据表适用范围字段,点击窗体底部的导航按钮可以依数据表的值同步更新选项框具体哪几个是选中的。
数据库编写状态: 不知什么原因记录集(Set RsfixtureMng = Me.RecordsetClone)感觉只有一条记录,点击多次也不会化。
贴上代码
  1. Private Sub Form_Current()

  2. Dim produce_model(0 To 6) As Boolean
  3. Dim Bin_mark As String
  4. Dim i As Integer
  5. Dim RsfixtureMng As DAO.Recordset '申明RsfixtureMng为DAO记录集对象

  6. Set RsfixtureMng = Me.RecordsetClone '将记录集内的记录与窗体的当前记录同步

  7. If RsfixtureMng.NoMatch Then
  8. MsgBox "Record not found"
  9. Else
  10. Me.Bookmark = RsfixtureMng.Bookmark '使 Recordset 对象中的当前记录与窗体的当前记录同步
  11. End If
  12. Bin_mark = RsfixtureMng.Fields("适用范围")
  13. 'MsgBox Bin_mark
  14. For i = 0 To 6
  15. produce_model(i) = CInt(Mid(Bin_mark, i + 1, 1)) '先截取字符串,Mid的第2个参数需从1开始的整数,再将其转换为整数
  16. Next i
  17. Me.Chk_251.Value = produce_model(0)
  18. Me.Chk_701D.Value = produce_model(1)
  19. Me.Chk_F3.Value = produce_model(2)
  20. Me.Chk_F4.Value = produce_model(3)
  21. Me.Chk_F5.Value = produce_model(4)
  22. Me.Chk_oth.Value = produce_model(5)
  23. Me.Chk_oft.Value = produce_model(6)
复制代码

以上是如何实现读数据,下一步我要决写数据的问题:通过窗体选中复选框,并将其值保存在到数据表中(逆向操作),这留作后续再解决~

作者: tmtony    时间: 2016-3-31 22:00
写数据,就在各复选框的更新后事件中
abs(Me.Chk_251.Value ) &  abs(Me.Chk_701D.Value  )  .....
这样




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3