Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

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

zhu320211  发表于:2012-06-12 17:24:23  
复制

怎样判断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


 

Top
总记录:0篇  页次:0/0 9 1 :