Office中国论坛/Access中国论坛

标题: 关于数据保存的新思路。 [打印本页]

作者: qqqq    时间: 2004-1-6 04:00
标题: 关于数据保存的新思路。
以前有不少爱好者提问有关数据保存的问题。我最近有这样一个思路。。
就是在表中增加个布尔保存字段。(作为是否保存的标志)
在窗体中增加保存按扭。在VBA中用DAO逐条更新该字段(还没保存的)。
这样的好处可以增加保存/停电恢复/取消保存的功能。
而且结合控件做出漂亮的界面。
缺点就是有点繁琐。。
不知各位同意我的想法么?呵呵认为是垃圾的就给我减分,否则不要忘了加分啊。

作者: ququ    时间: 2004-1-6 16:31
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
    strMsg = "数据已经改变."
    strMsg = strMsg & vbCr & "你想保存吗?"
    strMsg = strMsg & vbCr & "点击[是]保存,点击[否]放弃保存。"
    If MsgBox(strMsg, vbQuestion + vbYesNo, "记录保存吗?") = vbYes Then
        ' 什么也不需要做,就会保存记录
    Else
        DoCmd.RunCommand acCmdUndo
        
        ' 对于Access 95, 使用DoMenuItem方法代替
        'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
    End If
End Sub


转载 ---???
作者: qqqq    时间: 2004-1-6 19:20
以下是引用ququ在2004-1-6 8:30:45的发言:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
     strMsg = "数据已经改变."
     strMsg = strMsg & vbCr & "你想保存吗?"
     strMsg = strMsg & vbCr & "点击[是]保存,点击[否]放弃保存。"
     If MsgBox(strMsg, vbQuestion + vbYesNo, "记录保存吗?") = vbYes Then
         ' 什么也不需要做,就会保存记录
     Else
         DoCmd.RunCommand acCmdUndo
         
         ' 对于Access 95, 使用DoMenuItem方法代替
         'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
     End If
End Sub


转载 ---???

此方法在有数据子窗体时,在子窗体每录完一条记录就会有提示...挺麻烦的..
再说要是遇到突然停电可就惨了...


作者: ququ    时间: 2004-1-9 01:30
标题: 看看这个能不能满足你的需求
[attach]3080[/attach]
作者: qqqq    时间: 2004-1-13 08:24
很是感谢这位班主的耐心解答!

谢谢!!
作者: chenghai    时间: 2004-1-13 15:52
我觉得ACCESS默认的输入即保存的方式很好,不必再做代码进行修改;
至于可能不小心误改数据的事,可以通过不同用户不同权限的方式加以控制,这样更灵活。

有些人提出增加临时表来达到保存数据的思路,我觉得太烦,没必要,还不如在数据库的其他方面多考虑考虑呢。
作者: qqqq    时间: 2004-1-18 05:36
哦。。。说得有道理啊。。
呵呵,又走了一段弯路,,不过俺在探讨中长了见识。。。

[此贴子已经被作者于2004-1-17 21:39:42编辑过]






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