Office中国论坛/Access中国论坛
标题:
求助,关于子窗体与主窗体记录指向同步问题
[打印本页]
作者:
mayans
时间:
2010-10-22 23:46
标题:
求助,关于子窗体与主窗体记录指向同步问题
子窗体与主窗体的记录源都是基于查询的,主窗体时单个窗体,子窗体是数据表,我找网上找了很久,估计有5个小时了,一直没有找到合适的。
我之前找到过的方法有很多
1.在current事件中加载recordset,用这个方法会导致主窗体或子窗体有一个地方无法修改数据,很不好用。
2.使用子窗体链接,这个方法,子窗体只显示一条记录
3.主窗体所有的输入框取消绑定,由子窗体来赋值,这种方法需要增加修改,添加,删除等几个按键,而且我的id是自动编号,输入框也锁定了,使用实际并不方便。
4.我在论坛里找一点通这个例子
http://www.office-cn.net/forum-viewthread-tid-51239-highlight-%D6%F7%B4%B0%CC%E5.html
,根据这个修改,最后发现,这个例子的子窗体时基于表,我的例子改了之后一直不停得刷新查询。
5.我还尝试过在子窗体current事件中gotorecord,报错说,不能转到记录。
6.我还找了很久关于recordset.find和recordset.seek的方法,太复杂了,说实话我看不懂,不知道行不行。
不知道有什么好的办法解决这个问题吗?谢谢![attach]43898[/attach]
作者:
zhowgq
时间:
2010-10-23 07:47
建两个子窗体,用ID相关联。在子窗1上选定一记录时在子窗2上显示这条记录的全部内容,并可修改。不知行不行
作者:
红尘如烟
时间:
2010-10-23 09:26
没设计对,数据不需要来自于查询,直接来自于表就可以了
关于筛选的问题,可以在组合框的更新后事件中设置窗体的筛选器来实现
另外如果你子窗体和主窗体是显示的同样的数据,只是想让子窗体以数据表显示所有,主窗体则显示单条明细的话,可以通过在子窗体的Load事件中加一句 Set Me.Parent.Recordset=Me.Recordset 来实现
作者:
mayans
时间:
2010-10-23 15:15
谢谢红尘,官员加recordset这种方法,会导致子窗体无法修改记录。我觉得不好用,对数据输入会产生比较大的麻烦。
组合框更新后事件设置窗体筛选器来实现,我不会啊,有实例吗?
作者:
mayans
时间:
2010-10-23 16:37
这段代码错在哪里?
Private Sub Combo18_AfterUpdate()
Dim str As String
If Nz(Me.TYPE.Value, "") <> "" Then
str = "type='" & Me.TYPE.Value & "'"
Else
str = "type like '*'"
End If
If Nz(Me.Combo18.Value, 0) <> 0 Then
str = str & " And NAME = " & Me.Combo18.Value
End If
Me.子窗体.Form.Filter = str
Me.子窗体.Form.FilterOn = True
End Sub
这段一直提示错误
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3