设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1021|回复: 6
打印 上一主题 下一主题

[Access本身] [求助]按鈕要點兩次才能反應,請各位大哥指教

[复制链接]
跳转到指定楼层
1#
发表于 2003-8-1 17:50:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
這是一個關閉按鈕,代碼如下:
Private Sub Close_Click()
On Error GoTo Err_Close_Click

If Not IsNull(銷售商) Then
    If MsgBox("此數據尚未存儲,要存儲嗎?", 48 + vbYesNo, "系統提示") = vbNo Then
        DoCmd.Close
    Else
        Save_Click
        DoCmd.Close
    End If
Else
    DoCmd.Close
End If

Exit_Close_Click:
    Exit Sub

Err_Close_Click:
    MsgBox Err.Description
    Resume Exit_Close_Click

End Sub

點擊該按鈕后,會彈出上面的MSGBOX 然后選否,它不會產生反應,需再次點擊該按鈕才能生效,但它還會連帶把所有已打開的窗體關閉!小弟不知是什么原因,請各位大哥大姐指教!謝謝! 
[em00][em00][em00]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-8-1 18:40:00 | 只看该作者
不知道你的save_click子程序是怎么执行的,问题可能就出在这里。我记得以前我是用:

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

来保存记录。

另外,我想有一个更好的方法,是用窗体的beforeUpdate事件,例如:

Private Sub Form_BeforeUpdate(Cancel As Integer)
'这段可作为标准程序
On Error GoTo err_formErr

    Dim response As Integer
    response = MsgBox("是否保存所作的改动?", vbYesNo)
    If response = vbNo Then
        Cancel = True
        Me.Undo    '撤销修改
    Else
        Exit Sub
    End If

err_formErr:
    Cancel = True
    Me.Undo
    Exit Sub
End Sub

这样,即使你关闭窗体,也会先触发这个事件。你不妨试试看。
3#
发表于 2003-8-1 18:50:00 | 只看该作者
这个方法比较全面一点,我认为
4#
 楼主| 发表于 2003-8-1 20:04:00 | 只看该作者
以下是引用阿罗在2003-8-1 10:40:28的发言:
不知道你的save_click子程序是怎么执行的,问题可能就出在这里。我记得以前我是用:........

我也不明白到底是怎到回事!

由于我的做法比較笨,就是在窗體中填的數據,不是直接的填在有資料來源的控件中,而是先把資料填入無資料來源的文本框內,再通過save_click進行賦值。

會不會這是問題的根源?如是,可為什么點否也會出現此類情況?

另,點是還會造成關閉整個系統。
請指教!
5#
 楼主| 发表于 2003-8-4 17:10:00 | 只看该作者
TO:阿羅
我利用你的方法,是做到了關閉前詢問,謝謝!
但有一點不好,如果我是新增記錄,那不是很麻煩?因為它會每次者進行詢問!
敢問還有沒有比這更好的良策?
當然不管怎樣,還是謝謝了!
6#
发表于 2003-8-4 17:44:00 | 只看该作者
我不是很清楚你的意思,你是说每次你输入一个字段,就要询问么?那就可能同你的其他代码有关系了。

一般情况下,例如绑定纪录到窗体,那么无论是你修改还是添加,只是等你要改变整条记录时,才会询问的。这不会麻烦阿。
7#
 楼主| 发表于 2003-8-4 19:05:00 | 只看该作者
我的意思是當我新增記錄時會詢問而不是改變字段時!

因為我想要的是只在點Close_click時才產生反應,而不是新增記錄也有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 22:53 , Processed in 0.094685 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表