Office中国论坛/Access中国论坛

标题: 已经禁止窗体添加数据,但在程序中打开时仍然可以添加。 [打印本页]

作者: bjcompass    时间: 2016-3-29 00:03
标题: 已经禁止窗体添加数据,但在程序中打开时仍然可以添加。
2003数据库的一个表格式的窗体,已经在窗体属性中的“数据输入”项设置“否”,该窗体在程序外单独打开时,表格最后面不出现新纪录行,实现了禁止添加。但是在程序内部打开i时却出现了新纪录行,仍然可以添加纪录。找不出原因,请各位老师指点。
作者: roych    时间: 2016-3-29 00:25
设置窗体属性试试:
[attach]58571[/attach]
另外,也可以设置记录集为快照:
[attach]58572[/attach]
效果类似的。
至于锁定控件之类,则考虑到控件较多,不太建议使用。
作者: bjcompass    时间: 2016-3-29 08:13
非常感谢roych老师的指点,果然将窗体属性中“数据”选项中的纪录集类型改为“快照”后问题迎刃而解。roych老师非常热心而且高效,谢谢
    对出现这种情况还是有些不解:另外一个表格式窗体,数据添加设置为“否”,数据集类型也是设置为默认的“动态集”,在程序中打开时就不出现新纪录行。我检查了两者的设置,除了绑定的数据源表不同,其他设置完全一样。不知何故? 快照是什么意思?
   
   
作者: bjcompass    时间: 2016-3-29 08:32
roychl老师:
     我试验了一下,数据集类型改为“快照”以后,表格式窗体内原来的纪录字段都不能修改了,如同锁定一般,这是个问题。我的本意是在表格式窗体内不允许用户添加新纪录,但是允许在这个窗体内对纪录进行编辑和删除。而添加新纪录用另外一个单个窗体进行。
     您看看如何解决呢?
作者: roych    时间: 2016-3-29 08:56
bjcompass 发表于 2016-3-29 08:32
roychl老师:
     我试验了一下,数据集类型改为“快照”以后,表格式窗体内原来的纪录字段都不能修改了 ...

那就用截图1的方法吧。
我一般是在查询子窗体设置为快照的。增删改则不绑定窗体,用按钮弹出窗体来处理。详细可以参考以下帖子:
http://www.office-cn.net/thread-121359-1-1.html
作者: roych    时间: 2016-3-29 09:10
bjcompass 发表于 2016-3-29 08:13
非常感谢roych老师的指点,果然将窗体属性中“数据”选项中的纪录集类型改为“快照”后问题迎刃而解。roych ...

1、快照是属于类似于ADO的只读光标模式,你可以理解为对记录集的一个拍照,刷新子窗体时才能更新“照片”。
2、应该是数据添加设置为“是"时才会有新纪录行的,单个窗体则直接进入到新行,不显示旧数据。




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