设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 如何实现窗体间的相关数据联动?(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2012-9-14 08:52:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cocopig 于 2012-9-14 17:12 编辑

拟达到效果:从一个条件查询窗体得到记录集,点击记录集中的任一条记录即弹出窗口显示对应记录的详细内容。目前设计思路是使用recordset来实现窗体间的联动。

设有数据表table(a,b,c,d),创建查询A(a,[b-c] as e)。由查询A创建查询结果的窗体A(a,[b-c] as e),另创建一空窗体B(a,b,c,d)作为窗体A的数据联动窗口。

创建过程:窗体A中字段a的“单击事件”创建代码
Private Sub a_Click()

    DoCmd.OpenForm "窗体B"

    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset

    Set Forms! B.Recordset = Me.Recordset

    Forms! B.a = Me.Recordset("a")              

    dim strSql as string
    strSql="select * from table where a = '" & Forms! B.a & "'"    -----去掉where句后错误消灭
    rs.Open strSql, CurrentProject.Connection,  adOpenDynamic, adLockOptimistic   ------这句报错:

    Forms!B.b=rs("b")
    Forms!B.c=rs("c")
    Forms!B.d=rs("d")

    rs.Close
    Set rs = Nothing

上面的效果 窗体B字段a,可以实现与窗体A字段a一对一联动,但无论窗体A里有多少条记录,窗体B中字段b,c,d则不能联动,报错,去掉where句子后仅反映数据表table中最新近的一条记录的b,c,d
    求教各位,如果要实现两个窗体数据的一对一联动,我的代码错误如何解决?我上面代码还缺了什么??或还有没其他方法实现联动?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-9-14 11:29:06 | 只看该作者
可以的,把例子传上来!
3#
 楼主| 发表于 2012-9-14 17:13:07 | 只看该作者
Henry D. Sy 发表于 2012-9-14 11:29
可以的,把例子传上来!

谢谢提醒,原来是单双引号及日期代码编写有误。。
4#
发表于 2012-11-25 11:01:06 | 只看该作者
bbbbbbbbb
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 07:48 , Processed in 0.075623 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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