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