Office中国论坛/Access中国论坛
标题:
请教:如下代码怎么写?
[打印本页]
作者:
on2008
时间:
2003-10-14 16:01
标题:
请教:如下代码怎么写?
窗体中更新前事件:
如果已经点击“保存”按钮,则更新,否则
MSGBOX()……
这“如果已经点击“保存”按钮"怎么写呢?
作者:
ADAM
时间:
2003-10-14 19:07
這樣吧....
1.首先要設定保存按鈕,
按下保存,使他變成灰色,"使有效"設為否.
窗體更新前判斷"保存"是否的"使有效"屬性,就可以了.
2.當按下保存后,設定保存的tag屬性為1,
窗體更新前,如果"保存"的tag為1,則更新,然后設tag為0,
若tag不為1,則msgbox()
作者:
on2008
时间:
2003-10-14 23:15
帮我看看窗体更新前事件:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Msg, Style, Title, Ctxt, Response, MyString
★If Me.Command113.Enabled = False Then
★Me.Command113.Enabled = True
★Else
Msg = "该记录内容已修改.....," & Chr(13) & "是否保存?" & Chr(13) & Chr(13) & "如是,则点击“确定”,否则点击“取消”!" ' 定义信息。
Style = vbOKCancel + vbExclamation + vbDefaultButton2 ' 定义按钮。
Title = "请您确认是否保存修改数据……" ' 定义标题。
Ctxt = 1000 ' 定义标题
' 上下文。
' 显示信息。
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbOK Then ' 用户按下“是”。
MyString = "Ok" ' 完成某操作。
Else ' 用户按下“否”。
MyString = "Cancel" ' 完成某操作。
Me.Undo
End If
★End If
End Sub
窗体保存按钮鼠标按下事件:
★Me.Command113.Enabled = False
这样肯定不对,当然,如果我不这样做(即不加带★代码),同样也能达到类似效果,但每次按下保存按钮,他都会跳出一个提示框。
如何优化?
[此贴子已经被作者于2003-10-15 8:26:22编辑过]
作者:
andymark
时间:
2003-10-15 05:23
参考下这个例子,或许对你有些帮助
[attach]2031[/attach]
作者:
ADAM
时间:
2003-10-15 15:50
寫得不錯,
作者:
on2008
时间:
2003-10-15 16:25
四楼的代码设计思路很棒,问题是必须在每个字段更新后事件都加载=NoAllowsave()函授,要是忘了,特别是窗口及其子窗体多了就相对麻烦一点,实际上我上述代码可以实现这个功能,只是每次按保存按钮时也非弹出询问窗口,不太合理。应该还有改进的地方,您说是吗?
作者:
唐小小
时间:
2003-10-15 16:56
我还是不明白你想要什么效果
作者:
ADAM
时间:
2003-10-15 18:01
小小,他說的意思,
就是說,資料未保存而用PAGEDOWN或其它瀏覽方式瀏覽時,
要有提示,做出類似存盤的功能....
如果不人為保存,系統不能用移動記錄來自動保存....
作者:
on2008
时间:
2003-10-15 21:25
我的意思:
窗体数据更改之后,点击“保存”按钮不应跳出警示信息,没有点击“保存”按钮而使用其他功能则提示保存。
而我上面的代码因在更新前使用提示,无论使用哪个按钮都一直跳出提示框。有意改进。
作者:
on2008
时间:
2003-10-16 17:14
今天发现,事实上使用上述代码之后,”保存“按钮甚至菜单上的保存功能均毫无用处,只有确认保存,才能真正保存,与按不按”保存“按钮无关。
有其他办法吗?大家是否都采用四楼的思路呢?
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3