使用过滤器后空白字段不可见的记录
Posted
技术标签:
【中文标题】使用过滤器后空白字段不可见的记录【英文标题】:Record with blank field not visible after using filter 【发布时间】:2016-07-26 16:44:23 【问题描述】:II 制作访问数据库。我有一个带有子表单和几个组合框的表单,可用作数据过滤器。当表格中有一个空白字段时,它不会显示我的过滤器编码是
Function searchcriteria()
Dim device, vlan As String
Dim task, strciteria As String
If IsNull(Me.cbodevice) Then
device = "[DEVICE NAME] like '*'"
Else
device = "[DEVICE NAME]= '" & Me.cbodevice & "'"
End If
If IsNull(Me.cbovlan) Then
vlan = "[VLAN ID] like '*'"
Else
vlan = "[VLAN ID]= '" & Me.cbovlan & "'"
End If
strcriteria = device & "And" & vlan
task = "select * from L2PORTDETAILS where " & strcriteria
Me.L2PORTDETAILS_subform.Form.RecordSource = task
Me.L2PORTDETAILS_subform.Form.Requery
End Function]
【问题讨论】:
【参考方案1】:设置Filter属性可能更简单:
Function SearchCriteria()
' Preset Me!L2PORTDETAILS_subform.Form.RecordSource to:
' "select * from L2PORTDETAILS"
Dim Filter As String
If Not IsNull(Me!cbodevice.Value) Then
Filter = "[DEVICE NAME]= '" & Me!cbodevice.Value & "'"
End If
If Not IsNull(Me!cbovlan.Value) Then
If Filter <> "" Then
Filter = Filter & " And "
End If
Filter = Filter & "[VLAN ID] = '" & Me!cbovlan.Value & "'"
End If
With Me!L2PORTDETAILS_subform.Form
.Filter = Filter
.FilterOn = (Filter <> "")
End With
End Function
【讨论】:
亲爱的 Gustav 在哪里写这段代码是一个函数搜索条件,我是 vba 新手,请解释一下。你所说的过滤器属性是什么意思。 写在你已经有之前代码的地方。 Filter 属性是表单的属性。研究在线帮助或浏览其他示例。 亲爱的我很抱歉再次问你。记录源在哪里?如果我有两个以上的过滤器,它会起作用 RecordSource 是子表单(选项卡数据)的另一个属性。是的,所示代码将尊重一个或两个过滤器值。但听起来你真的需要学习一个教程(免费浏览)才能开始。 我用这个代码替换了我发布的代码,但它不起作用请帮助我解决以上是关于使用过滤器后空白字段不可见的记录的主要内容,如果未能解决你的问题,请参考以下文章