Office中国论坛/Access中国论坛

标题: 筛选后所有记录的某个字段内容是否可以显示到另一个窗体文本框中? [打印本页]

作者: bjcompass    时间: 2012-6-30 17:17
标题: 筛选后所有记录的某个字段内容是否可以显示到另一个窗体文本框中?
如例子:子窗体中的记录是经过在主窗体上输入条件查询而来。现在希望把查询后子窗体中所有记录中的”联系电话“字段内容传递到窗体1上的文本框text1中,而且每个电话号之间有一个英文逗号分隔。请各位老师看怎样解决呢?因为实际上查询条件很多,所以最好用窗体纪录集的方法,但是我实在搞不定,特来请教。
[attach]49546[/attach]

作者: layaman_999    时间: 2012-6-30 17:46
没有例子,使用ado吧
作者: Henry D. Sy    时间: 2012-7-1 07:19
可以的
作者: bjcompass    时间: 2012-7-1 10:35
就是因为自己在代码上搞不定 ,特来求教。
烦请版主受累 ,给写个代码例子吧!
不好意思。
作者: 鱼儿游游    时间: 2012-7-1 10:48
你能传例子吗
作者: bjcompass    时间: 2012-7-1 11:08
不好意思,刚发现昨天发帖,例子没带上。
如例,希望把经过筛选后子窗体中“联系电话”字段内容都写进窗体1的text1,每个电话之间用英文逗号分隔。
谢谢各位老大关注![attach]49550[/attach]
作者: Henry D. Sy    时间: 2012-7-1 13:26
  1. Private Sub Command15_Click()
  2.     On Error GoTo Err_Command15_Click
  3.     Dim rs As DAO.Recordset
  4.     Dim strTel As String
  5.     Dim strWhere As String                                                '定义条件字符串

  6.     strWhere = ""                                                         '设定初始值是空字符串

  7.     If Not IsNull(Me.姓名) Then
  8.         strWhere = strWhere & "([姓名] like '*" & Me.姓名 & "*') AND "
  9.     End If

  10.     If Not IsNull(Me.性别) Then
  11.         strWhere = strWhere & "([性别] like '*" & Me.性别 & "*') AND "
  12.     End If

  13.     If Not IsNull(Me.班级) Then
  14.         strWhere = strWhere & "([学员班] like '*" & Me.班级 & "*') AND "
  15.     End If

  16.     If Not IsNull(Me.Combo41) Then
  17.         strWhere = strWhere & "([学籍状态] like '*" & Me.Combo41 & "*') AND "
  18.     End If

  19.     If Len(strWhere) > 0 Then   '如果有输入条件
  20.         strWhere = Left(strWhere, Len(strWhere) - 5)  '用LEFT函数截掉这5个字符。
  21.     End If

  22.     Me.查询学员_sub.Form.Filter = strWhere       ' 子窗体应用窗体查询
  23.     Me.查询学员_sub.Form.FilterOn = True
  24.     Set rs = Me.查询学员_sub.Form.RecordsetClone
  25.     With rs
  26.         .MoveFirst
  27.         Do While Not .EOF
  28.             strTel = strTel & .Fields("联系电话") & ","
  29.             .MoveNext
  30.         Loop
  31.         .Close
  32.     End With
  33.     Set rs = Nothing
  34.     DoCmd.OpenForm "窗体1", acNormal, , , , , strTel

  35. Exit_Command15_Click:
  36.     Exit Sub

  37. Err_Command15_Click:
  38.     MsgBox Err.Description
  39.     Resume Exit_Command15_Click

  40. End Sub
复制代码
[attach]49551[/attach]
作者: bjcompass    时间: 2012-7-1 22:13
本帖最后由 bjcompass 于 2012-7-2 08:45 编辑

感谢板主帮助!
原来使用了窗体间传递参数。学习收藏了。

作者: Henry D. Sy    时间: 2012-7-2 09:09
bjcompass 发表于 2012-7-1 22:13
感谢板主帮助!
原来使用了窗体间传递参数。学习收藏了。

不明白你为什么采取这样的显示形式,
如果只是想显示一下,只要用msgbox就可以了
一定要采取这种形式,你还需要处理:
1. 在执行查询时,先关闭窗体1
2. 在返回按钮事件中增加关闭窗体1代码
3. 定义个判断函数,在执行上述1,2时判断窗体1是否已经加载(打开)
作者: bjcompass    时间: 2012-7-2 12:22
谢谢热心指教 。
我是自学,一知半解。
想做一个数据库http方式访问短信接口群发短信的功能,需要把筛选出来的手机号码写入文本框或者写入一个.txt文档。




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