设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 如何使组合框内容变更后立即自动保存?

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-16 17:13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一组合框,数据来源于查询,限于列表属性设置为“是”,不在列表中属性设置为事件过程,当组合框内容更改,并触发不在列表中事件时,弹出提示框:“内容需要更改吗?”,选择“是”,立即自动保存更改内容并重新查询组合框,否则恢复内容。代码如下:
1.Private Sub 文件名_NotInList(NewData As String, Response As Integer)
2.Dim ctl As Control
   
3.    Set ctl = Me!文件名
4.   If MsgBox("你输入的文件名不在列表中,需要更改吗?", _
5.         vbOKCancel, "系统提示") = vbOK Then
6.        Response = acDataErrContinue
7.        Me.文件名.Requery
8.     Else
9.        Response = acDataErrContinue
10,        ctl.Undo
11.   End If
12.End Sub
运行至7,提示错误:“执行Requery前必须保存字段”!
求助:如何插入保存字段的代码?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-7-16 17:25:07 | 只看该作者
在第七步之前加入
追加查询语句
3#
 楼主| 发表于 2009-7-16 18:16:23 | 只看该作者
谢谢版主,代码做了如下修改,解决问题。
1.Private Sub 文件名_NotInList(NewData As String, Response As Integer)

2.   If MsgBox("输入的信息不在列表中!" & Chr(13) & Chr(13) & "是否更改?", vbQuestion + vbYesNo, "不在列表中") Then
3.        DoCmd.SetWarnings False
      
4.       DoCmd.RunSQL "UPDATE 升级版本 SET 升级版本.文件名 = ('" & NewData & "');" '
5.       Response = acDataErrAdded
6.        DoCmd.SetWarnings True
7.    Else
8.        Response = acDataErrContinue
9.        Me.ActiveControl.Undo
10.    End If

11. End Sub

关键是4-5两行。
4#
发表于 2010-1-30 17:44:53 | 只看该作者
学习了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 15:43 , Processed in 0.079194 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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