设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 怎样判断一条记录在两个不同的集合中

[复制链接]
跳转到指定楼层
1#
发表于 2012-6-12 17:16:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样判断subctl.name包含在两个不同的集合中,如果包含在('配件代号','配件名称','产品编号','产品名称')中,则subctl.ColumnHidden=False,如果包含在rs记录集中,则subctl.ColumnHidden=False,如果都不包含,则subctl.ColumnHidden=true。
下面的代码可以运行,但感觉不太妥,第一个集合中的字段名设置了两次属性,请教大家有没有更好的办法
Private Sub Combo10_AfterUpdate()
    Dim rs As Recordset
    Dim subctls As Controls
    Dim subctl As Control
    Set subctls = Me.加工单价表_子窗体.Form.Controls
    Set rs = CurrentDb.OpenRecordset("select [工序名称] from [单价组成表] where [部门代号] = '" & DLookup("[部门代号]", "[部门信息]", "[部门] = '" & Combo10.Value & "'") & "' ")
     For Each subctl In subctls
        If subctl.ControlType = acTextBox And IsNull(Eval("'" & subctl.Name & "' in ('配件代号','配件名称','产品编号','产品名称') ")) = False Then
            rs.FindFirst " 工序名称='" & subctl.Name & "'"
            If rs.NoMatch Then
                subctl.ColumnHidden = True
            Else
                subctl.ColumnHidden = False
            End If
            If Eval("'" & subctl.Name & "' in ('配件代号','配件名称','产品编号','产品名称') ") Then
                subctl.ColumnHidden = False
            End If
        End If
    Next
    rs.Close
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-6-12 21:39:01 | 只看该作者
一时看不明白楼主为啥要这样
感觉有更好的方法,楼主可以尝试把上面的功能在一个SQL中体现,这样只打开记录集就OK了
3#
 楼主| 发表于 2012-6-13 08:33:17 | 只看该作者
本帖最后由 zhu320211 于 2012-6-13 08:37 编辑
andymark 发表于 2012-6-12 21:39
一时看不明白楼主为啥要这样
感觉有更好的方法,楼主可以尝试把上面的功能在一个SQL中体现,这样只打开记录 ...


谢谢管理员,[单价组成表]中没有这四条记录,怎样集中到一个SQL中?
可以
ElseIf DLookup(" 工序名称 ", "rs", "[工序名称]='" & subctl.Name & "' '") <> Null Then
             subctl.ColumnHidden = False
但就是不对,如果成功就很容易了,如果用dlookup,该怎么写
4#
发表于 2012-6-13 10:17:10 | 只看该作者
我也看不明白!

点评

怎样用dlookup判断记录是否包含在记录集中  发表于 2012-6-13 10:20
5#
发表于 2012-6-13 10:29:44 | 只看该作者
1.将subctl.name保存在数组a()
2.将rs记录集和('配件代号','配件名称','产品编号','产品名称')填充入另一个数组b()
循环两个数组进行判断

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

本版积分规则

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

GMT+8, 2024-5-11 04:34 , Processed in 0.101332 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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