设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2796|回复: 9
打印 上一主题 下一主题

[窗体] 如何动态的使用子窗体的字段名

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-4 10:26:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、在查询中,如何使用动态字段名,并将查找结果在子窗体中显示
2、使用特定字段:me.子窗体名.字段名;那么使用动态字段该怎么写?
谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-2-4 11:41:59 | 只看该作者
  1. Dim sWhere As String
  2. If Me.Combo4 <> "" And Me.Text6 <> "" Then
  3.     sWhere = "[" & Me.Combo4 & "] like '" & Me.Text6 & "'"
  4.     Me.子窗体.Form.Filter = sWhere
  5.     Me.子窗体.Form.FilterOn = True
  6. End If
复制代码
3#
 楼主| 发表于 2012-2-4 12:59:13 | 只看该作者
本帖最后由 kent_73 于 2012-2-4 13:00 编辑
roych 发表于 2012-2-4 11:41


这个问题已经解决了,谢谢

还有一个问题,请看图片
text123是母窗体上的控件名,用于选择子窗体中的字段
当我用【Me.Child4!事假.Value】取到了子窗体中的值
那么怎么用动态的字段名,取到子窗体中的值?
谢谢



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2012-2-4 15:03:43 | 只看该作者
本帖最后由 roych 于 2012-2-4 15:04 编辑

这里仍然以之前的附件为例,增加了窗体记录集的FindFirst方法。
  1. Dim sWhere As String, sWhere2 As String
  2. Dim rst As DAO.Recordset
  3. If Me.Combo4 <> "" And Me.Text6 <> "" Then
  4.     sWhere = "[" & Me.Combo4 & "] like '" & Me.Text6 & "'"
  5.     sWhere2 = Me.Combo4 & "= '" & Me.Text6 & "'"
  6.     Me.子窗体.Form.Filter = sWhere
  7.     Me.子窗体.Form.FilterOn = True
  8.     Set rst = Me.子窗体.Form.Recordset
  9.     rst.FindFirst sWhere2
  10.     MsgBox rst!住址
  11. End If
复制代码
这段代码仅能查找出第一条记录(请留意sWhere2和sWhere的区别)。如果要查找多条记录的值,则需要使用循环语句来处理。
5#
发表于 2012-2-4 16:18:19 | 只看该作者
喱个好啊....大家过来睇啊...
6#
 楼主| 发表于 2012-2-6 09:09:01 | 只看该作者
roych 发表于 2012-2-4 15:03
这里仍然以之前的附件为例,增加了窗体记录集的FindFirst方法。这段代码仅能查找出第一条记录(请留意sWher ...

做了很长时间,实在不会做,我把实例传上,请斑竹帮助一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2012-2-6 09:23:52 | 只看该作者
“如果要查找多条记录的值,则需要使用循环语句来处理。 ”版主,能否写出语句让我也学习一下?
8#
发表于 2012-2-7 15:23:39 | 只看该作者
kent_73 发表于 2012-2-6 09:09
做了很长时间,实在不会做,我把实例传上,请斑竹帮助一下。

我觉得你把问题复杂化了~~
例如:
DoCmd.RunSQL "UPDATE Rq_考勤_员工出勤表_营业部_国贸 SET " & Me.text123 & " =" & Me.Text12
DoCmd.RunSQL "UPDATE Rq_考勤_员工出勤表_营业部_国贸 SET 白班 =" & 8 - Me.Text12
后面的条件请自行补充好。这里只是给个示例语句而已。
9#
 楼主| 发表于 2012-2-7 15:52:37 | 只看该作者
谢谢,但实际情况是不能这样的
白班不能单纯的减去假期的。如果事先请假3小时(已经进入系统了,白班为5小时),但实际请假只有2小时(这时,白班=5+(3-2)=6小时);反之,实际请假4小时(这时,白班=5-(4-3)=4小时);如果请假时间还是按照事先的时间,但是由于误操作,这里的白班时间应该是不变的。
10#
发表于 2016-4-9 23:24:13 | 只看该作者
支持原创
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-2 05:35 , Processed in 0.088778 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表