Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

~急~!!access窗体中修改完数据后怎么样才能让系统提示是否保存啊

秋秋  发表于:2008-07-23 16:55:19  
复制

~急~!!access窗体中修改完数据后怎么样才能让系统提示是否保存啊,修改后总是默认保存,如果需要

编写代码,请问怎么写啊,请大虾赐教,谢谢!!!

 

Top
钱玉炜 发表于:2008-07-24 09:35:37

具体你的修改窗体是怎么做的,说清楚点这样才好针对你的情况回答



秋秋 发表于:2008-07-24 12:01:54
钱大哥,你好,还以为没人理我呢,情况是这样的:
    我做的是一个简单的小数据库,是开发软件的一部分,建立表的窗体以后发现一个问题,窗体中的数改了以后关闭窗体时并不提示是否保存,假如以后工作人员不小心更改了某些数,就会有很大麻烦(这个数据库也许以后需要加入新数据,所以开发完以后需要维护,我是小虾米一个,希望大家明白我的意思),我想加入一个功能就是:在关闭窗体时提示:[保存?不保存?取消?(不保存,也不关闭窗体)]并且选择后能完成相应的操作,假如我选不保存它就不保存关闭窗体,选择保存则保存后关闭窗体,选择取消则取消关闭操作。
请问这个功能该怎么实现呢,期待各位大虾赐教啊!!
     窗体就是根据下面这个数据表生成的,总共记录好几百个,我截取了几个,让大家明白我说的意思,


编号 岩石类型 岩石名称 岩石性状 容重(g/cm³) 吸水率(%) 抗压强度(干)(MPa) 抗压强度(湿)(MPa)
1 火成岩 安山岩 坚硬 2.7 0.25 308.6 217.5
2 火成岩 安山岩   2.65 0.52 241.6 126.5
3 火成岩 安山岩   2.69 0.96 115.8 115.5
4 火成岩 安山岩 新鲜 2.58 0.55 112.1 84.2


刘贵平 发表于:2008-07-24 22:38:04

一楼想说的是你修改这个功能想用那种方法来实现,一种网站中示例的方法,做一个修改窗体,当要修改时,点修改命令出现你想修改的数据在窗体中,然后修改保存就可以,当然需要用VBA来实现,可以参考网站的示例.

还有一种就是数据在子窗体中,选中你要修改的数据然后点修改命令,才可以修改.也需要VBA来实现,这样的示例很多网站有.



sosopain 发表于:2008-07-24 23:04:05

在帮助文件里面查找窗体的beforeupdate事件....里面有详细的示例.



秋秋 发表于:2008-07-25 11:24:03

四楼的方法我没有找到,三楼的大哥说的两种我认为都不是,

其实是一种最简的情况,

就是数据库建好以后,投入使用时可能要修改文本框中的某些数据,或是添加新记录,我想编一段代码实现这个功能:

我关闭窗体时提示是否保存(就像关闭word txt 文档时弹出的消息框一样)并能相应执行

麻烦哪位大虾有时间帮我解决一下,将不胜感激



sosopain 发表于:2008-07-25 11:31:18
 

下面的示例说明如何使用 BeforeUpdate 事件来提示用户在每次保存窗体中的记录时确认其更改。

Private Sub Form_BeforeUpdate(Cancel As Integer)
   Dim strMsg As String
   Dim iResponse As Integer

   ' Specify the message to display.
   strMsg = "Do you wish to save the changes?" & Chr(10)
   strMsg = strMsg & "Click Yes to Save or No to Discard changes."

   ' Display the message box.
   iResponse = MsgBox(strMsg, vbQuestion + vbYesNo, "Save Record?")
   
   ' Check the user's response.
   If iResponse = vbNo Then
   
      ' Undo the change.
      DoCmd.RunCommand acCmdUndo

      ' Cancel the update.
      Cancel = True
   End If
End Sub

© 2006 Microsoft Corporation。保留所有权利。



access爱好者 发表于:2008-07-25 11:34:50
窗体里加上这
Private Sub Form_BeforeUpdate(cancel As Integer)
If MsgBox("该数据已编辑,是否保存?", vbQuestion + vbYesNo, "你的系统名称") = vbNo Then
      
        Me.Undo
    End If
End Sub

总记录:7篇  页次:1/1 9 1 :