设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 谁能帮我实现这个功能?

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-2 13:16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
窗体中有多个绑定文本框,要求在这些文本框被编辑后退出时,弹出一个提示窗体A,窗体A中有“保存更改”和“重新编辑”两个按钮,当单击提示窗体的“重新编辑”按钮时,刚刚编辑的文本框自动获得焦点,成修改输入状态(文本框内的内容呈抹黑状态)。

[ 本帖最后由 GAOZHONG 于 2008-10-2 14:02 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-10-2 13:59:01 | 只看该作者
利用一下FORM上的dirty属性。在你退出前判断一下记录上的数据有没有被修改过。

以下摘自 Microsoft Access Help
Dirty 属性
参阅应用于示例特性可以使用 Dirty 属性来决定当前记录自从上次保存之后是否修改过。例如,可能要询问用户是否保存对这些记录的更改,如果选择“否”,所做的更改则不会保存。Boolean 类型,可读/写。

expression.Dirty
expression      必需。返回“应用于”列表中的一个对象的表达式。

说明
Dirty 属性使用以下设置:

设置 Visual Basic 说明
True True   当前记录已更改。
False False   当前记录未更改。

此属性在“窗体”视图和“数据表”视图中可用。

此属性可以使用宏或 Visual Basic 读取或设置。

如果记录已保存,Microsoft Access 将 Dirty 属性设置为 False;如果用户更改记录,则该属性将设置为 True。

示例
以下示例在数据更改时将 btnUndo 按钮设为有效。UndoEdits( ) 子程序从文本框控件的 AfterUpdate 事件中调用。单击有效的 btnUndo 按钮会使用 OldValue 属性还原控件值。

Sub UndoEdits()
    If Me.Dirty Then
        Me!btnUndo.Enabled = True    ' Enable button.
    Else
        Me!btnUndo.Enabled = False    ' Disable button.
    End If
End Sub

Sub btnUndo_Click()
    Dim ctlC As Control
        ' For each control.
        For Each ctlC in Me.Controls
            If ctlC.ControlType = acTextBox Then
                ' Restore Old Value.
                ctlC.Value = ctlC.OldValue
            End If
        Next ctlC
End Sub
3#
 楼主| 发表于 2008-10-2 14:04:33 | 只看该作者
谢谢回复,可能是我没叙述清楚,刚才我又编辑了帖子,麻烦再看下。
4#
发表于 2008-10-2 15:30:21 | 只看该作者
先不说怎么实现,这个功能看起来有点啰嗦,既然输入了当然是想要保存的,还问什么!

点击这里给我发消息

5#
发表于 2008-10-2 15:40:35 | 只看该作者
在更新前事件对比所有控件的oldvalue和value值,如果不等,则表示修改过了
或者在每个控件的更新后事件调用一个通用函数, 设置当前控件的抹黑效果

点击这里给我发消息

6#
发表于 2008-10-2 17:12:42 | 只看该作者
以前有输入数据后需按保存按钮才能保存到表的帖子,和这个问题相似,稍作变通即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-25 16:23 , Processed in 0.089612 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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