设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[宏/菜单/工具栏] 有关在宏中使用requery无效的问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-17 20:27:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yang_hf 于 2009-2-17 20:33 编辑

一个列表框的行来源设置成了一个表,对表新增了一条记录后,对列表框使用宏的requery命令更新显示,但不起作用.请教各位?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-2-17 20:53:03 | 只看该作者
本帖最后由 紫风 于 2009-2-17 20:57 编辑

不用宏,而在列表框的after update(更新后)用事件过程 .requery

假设列表框是“姓名”,在 属性 - 更新后 用 事件过程:

private sub 姓名_after update()

    me.姓名.requery

end sub

试一下吧
3#
发表于 2009-2-17 20:54:13 | 只看该作者
没有问题呀
4#
 楼主| 发表于 2009-2-17 21:05:42 | 只看该作者
用事件过程,也不行.
5#
发表于 2009-2-19 21:30:06 | 只看该作者
不好意思,之前没下你的例子。

这样吧,不要用 列表23,用 子窗体。
然后用ADO写保存 客户信息表 新增的数据
最后加一句 me."子窗体名".requery

这样就可以了。
6#
发表于 2009-2-22 23:14:45 | 只看该作者
本帖最后由 紫风 于 2009-2-24 21:14 编辑

好吧,帮你改好了,你看一下
代码很简单:

Private Sub Cmd添加_Click()
    Dim rst As New ADODB.Recordset
    rst.Open "客户信息表", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
        With rst
            .AddNew
            ![客户编号] = Me.Text1客户编号
            ![客户名称] = Me.Text2客户名称
            ![联系人] = Me.Text3联系人
            ![电话] = Me.Text4电话
            ![传真] = Me.Text5传真
            ![手机] = Me.Text6手机
            ![地址] = Me.Text7地址
            .Update
        End With
    rst.Close
    Set rst = Nothing

    Me.frm客户信息表child.Requery
End Sub

你做一个命令按钮Cmd添加就可以了

另外,客户信息表里的 ID 和 客户编号 是不是有一个是多余的可以不要?

或者说,如果没用ADO,当你输入数据时没有保存(或按了ESC键),ID会断开不连续(如:151,152,154),这样我建议你做一个自动编号,用DMax找到最大的客户编号,然后在最大的客户编号后+1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2009-3-1 16:25:39 | 只看该作者
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 12:34 , Processed in 0.118349 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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