Office中国论坛/Access中国论坛

标题: 如何在四个子窗体之间传递数值 [打印本页]

作者: hey23    时间: 2009-3-14 07:21
标题: 如何在四个子窗体之间传递数值
请帮忙看看下面这个窗体的问题出现什么地方:(frm是主窗体)我希望在mainInfo里点击一个记录后,在后面的三个选项卡窗口里能显示出对应此记录的信息。
我在网上找的信息好像是应该设定事件,然后再写事件代码forms!还有requery什么的,但是试了不少时间还是没成功,请高手指点,谢谢!
作者: ACMAIN_CHM    时间: 2009-3-14 08:51
思路如下。
在MainInfo的子窗体的 oncurrent事件中,得到当前的 [IDContactNew],然后有两种方法:
一: 在主窗体frm上添加一隐藏的textXXXX, 在 oncurrent事件 将forms!frm!textXXXXX.value =  [IDContactNew], 然后其它子窗体的数据源改成 "select * from tblxxxxx where id=forms!frm!textXXXXX",在MainInfo 的oncurrent 把其余的几个requery一下就可以了。

二。在MainInfo 的oncurrent ,直接修改其余的几个subform的数据源。



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .

作者: Henry D. Sy    时间: 2009-3-14 09:04
更改为双击记录
  1. Private Sub Form_Load()
  2.     Dim ctl As Control
  3.     For Each ctl In Me.Controls
  4.         If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Then
  5.             ctl.OnDblClick = "=ClickRec()"
  6.         End If
  7.     Next
  8. End Sub
  9. Function ClickRec()
  10.     Dim strCriteria As String
  11.     Dim strWhatID As String
  12.     strCriteria = "Surname='" & Me.Surname & "'"
  13.     strWhatID = "IDContactNew=" & Me.Surname.Column(0) & ""
  14.     Me.Parent.subfrmContactNewOtherInfo.Form.Filter = strCriteria
  15.     Me.Parent.subfrmContactNewOtherInfo.Form.FilterOn = True
  16.     Me.Parent.subfrmContactNewOtherContact.Form.Filter = strWhatID
  17.     Me.Parent.subfrmContactNewOtherContact.Form.FilterOn = True
  18.     Me.Parent.subfrmContactNewAssignmentInfo.Form.Filter = strWhatID
  19.     Me.Parent.subfrmContactNewAssignmentInfo.Form.FilterOn = True
  20. End Function
复制代码

作者: hey23    时间: 2009-3-15 07:08
2# ACMAIN_CHM

我用了你的第一个方法果然成功了,因为还有些活要干,所以第二个方法就没试,多谢多谢!能不能再问一个问题:我在主窗体上有个Assignment(标签名是Assignment,实际名字是ContactTag,都是一回事)。
当选中下拉菜单之一的时候,在第一个选项卡MainInfo里可以出现所有符合这个Assignment的人的信息,而且这些人不能重复。我尝试修改MainInfo里的select语句,但遇到问题(涉及到至少两个表,所以应该用inner join,但是并不是所有的人都有Assignment,也不是每个人都只能有一个Assignment。。。)

算了,这个不太容易说清楚,还是传上附件吧。
多谢帮忙!
作者: hey23    时间: 2009-3-15 07:11
本帖最后由 hey23 于 2009-3-15 07:21 编辑

3# Henry D. Sy

多谢版主!不知为什么,我用了你做的附件后还是没有成功,不过还是非常感谢!现在我这个问题已经解决了,能不能请帮忙再看下我上面的一个新问题,不胜感激!
作者: 62267021    时间: 2009-3-15 21:13
hey23   朋友!能不能将上面你已经解决的"如何在四个子窗体之间传递数值"的样表发给我,我也碰到了这样的问题, guzhenb0@163.com  谢谢
作者: hey23    时间: 2009-3-16 03:33
6# 62267021

已发,查收。




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