Office中国论坛/Access中国论坛

标题: [求助]如何进行手动保存? [打印本页]

作者: secowu    时间: 2006-1-10 23:36
标题: [求助]如何进行手动保存?
我做了个窗体


窗体里包含了很多只窗体,和选项卡


现在,想在母窗体里进行主要参数设定


通过一个“编辑”/“保存”按钮来进行操作


当点击编辑时,窗体的编辑属性和删除属性开启,“保存”按钮可用


目的是想:


        不需要系统的自动保存功能,用手动来保存


我看了坛里的一个例子,在输入控件不多的时候,还行,


可是,我的这个输入控件太多,又有子窗体和选项卡,如果每个都在更新事件后进行询问是否保存


在效率和亲和度上大打折扣的


所以,我想,能否通过,设置整个母窗体的只读性和可编辑性来完成这个功能?


或者还有别的方法?


非常感谢








[此贴子已经被作者于2006-1-10 15:36:49编辑过]


作者: secowu    时间: 2006-1-10 23:41
主要是为了防止误操作而导致的数据更改
作者: Grant    时间: 2006-1-10 23:41
别的办法用dao写入或者ado
作者: secowu    时间: 2006-1-10 23:42
以下是引用Grant在2006-1-10 15:41:00的发言:
别的办法用dao写入或者ado

呵呵,这样可能会导致执行效率较低吧?
作者: secowu    时间: 2006-1-10 23:44
这个方法的思路是:

1.先关闭系统的自动保存功能:

  就是输入数据或更改数据,指针移到下一条记录,就自动保存了

  那么如何关闭这个自动保存呢?

2.用自己的手动保存方法:

  只有点击了保存按钮才进行保存,是否需要一个临时表?
作者: 一点通    时间: 2006-1-10 23:44
以下是引用secowu在2006-1-10 15:42:00的发言:



呵呵,这样可能会导致执行效率较低吧?

这样的效率也不会低的,
作者: 一点通    时间: 2006-1-10 23:48
以下是引用secowu在2006-1-10 15:44:00的发言:


这个方法的思路是:

1.先关闭系统的自动保存功能:

  就是输入数据或更改数据,指针移到下一条记录,就自动保存了

  那么如何关闭这个自动保存呢?

2.用自己的手动保存方法:

  只有点击了保存按钮才进行保存,是否需要一个临时表?



1.好似没有这个功能吧?

2.不一定要用到临时表的
作者: Grant    时间: 2006-1-10 23:51
临时表也是个办法,但是如果很多个窗体不是很多个临时表?
作者: fuyvn    时间: 2006-1-11 00:22
我也在找.  

刚才翻到一个老贴.



http://www.office-cn.net/forum.php?mod=viewthread&tid=14495

用了一下很不错.
作者: secowu    时间: 2006-1-11 00:24
用了小雨的窗体更新前事件,解决了这个问题

发现,很经典,独到

就是有个问题,点否不保存的话,程序无法返回未修改前的记录

我试了,先保存未修改前的主要判断ID,但出错

Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("当前记录的数据已更改,是否保存?", vbQuestion + vbYesNo, "数据更改") = vbYes Then
    Else
        Me.Undo
    End If

End Sub

作者: Grant    时间: 2006-1-11 02:10
可以用标签来判断,这个我也见过一高手做过,还偷了一例子呵呵.
作者: pcyclone    时间: 2006-1-14 00:19
我有个笨办法,我就是这么做的:窗体上放2个按钮:“编辑”和“保存”。窗体上接收数据的各控件locked属性设置为true,“编辑”按钮单击事件中加入n个语句,使上述n个控件的locked属性设置为false,“保存”按钮单击事件中加入n个语句,使上述控件的locked属性设置为true




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