Office中国论坛/Access中国论坛

标题: 如何实现窗体间的相关数据联动?(已解决) [打印本页]

作者: cocopig    时间: 2012-9-14 08:52
标题: 如何实现窗体间的相关数据联动?(已解决)
本帖最后由 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   ------这句报错:[attach]50390[/attach]

    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
    求教各位,如果要实现两个窗体数据的一对一联动,我的代码错误如何解决?我上面代码还缺了什么??或还有没其他方法实现联动?


作者: Henry D. Sy    时间: 2012-9-14 11:29
可以的,把例子传上来!
作者: cocopig    时间: 2012-9-14 17:13
Henry D. Sy 发表于 2012-9-14 11:29
可以的,把例子传上来!

谢谢提醒,原来是单双引号及日期代码编写有误。。
作者: 灰太郎    时间: 2012-11-25 11:01
bbbbbbbbb




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3