|
本帖最后由 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
|