基本上,我的表单MENU
有一个子表单Tabella1
我想要做的是搜索查询,它在Tabella1
的4个不同字段上运行。
查询实际上有效,但它不会更新MENU
内的子表单,而是打开一个包含搜索结果的新数据表。
修改
好的,现在我按照@ June7建议,特别是我使用了this guide,基本上我删除了之前的查询
现在的问题是,一切正常,除了在执行cmdFiltra_Click()
之后 - 按钮CERCA - ,它什么都没有显示。
另外,如果我使用日期标准而不是其他4个标准,它会显示所有记录,尽管在表单底部显示了消息" Filtered"出现。
这是重新调整的代码 - 对于我的情况 - 形式Cerca
:
Private Sub cmdFiltra_Click()
Dim strWhere As String
Dim lngLen As Long
Const conJetDate = "\#mm\/dd\/yyyy\#"
If Not IsNull(Me.regioneRicerca) Then
strWhere = strWhere & "([Forms]![MENU]![Tabella1].[Form].[REGIONE SOCIALE] Like ""*" & Me.regioneRicerca & "*"") AND "
End If
If Not IsNull(Me.localitaRicerca) Then
strWhere = strWhere & "([Forms]![MENU]![Tabella1].[Form].[LOCALITA] Like ""*" & Me.localitaRicerca & "*"") AND "
End If
If Not IsNull(Me.fiscaleRicerca) Then
strWhere = strWhere & "([Forms]![MENU]![Tabella1].[Form].[CODICE FISCALE] Like ""*" & Me.fiscaleRicerca & "*"") AND "
End If
If Not IsNull(Me.stallaRicerca) Then
strWhere = strWhere & "([Forms]![MENU]![Tabella1].[Form].[CODICE STALLA] Like ""*" & Me.stallaRicerca & "*"") AND "
End If
If Not IsNull(Me.txtStartDate) Then
strWhere = strWhere & "([Forms]![MENU]![Tabella1].[Form].[EnteredOn] >= " & Format(Me.txtStartDate, conJetDate) & ") AND "
End If
If Not IsNull(Me.txtEndDate) Then
strWhere = strWhere & "([Forms]![MENU]![Tabella1].[Form].[EnteredOn] < " & Format(Me.txtEndDate + 1, conJetDate) & ") AND "
End If
lngLen = Len(strWhere) - 5
If lngLen <= 0 Then
MsgBox "Inserisci almeno un criterio.", vbInformation, "Nessun criterio inserito"
Else
strWhere = Left$(strWhere, lngLen)
Forms!MENU!Tabella1.Form.Filter = strWhere
Forms!MENU!Tabella1.Form.FilterOn = True
End If
End Sub
Private Sub cmdReset_Click()
Dim ctl As Control
For Each ctl In Me.Section(acDetail).Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox
ctl.Value = Null
Case acCheckBox
ctl.Value = False
End Select
Next
Forms!MENU!Tabella1.Form.FilterOn = False
End Sub
如果您还需要其他信息,请告诉我,如果我不够清楚,请提前抱歉。
屏幕截图
答案 0 :(得分:0)
<强>解决强>
我的错误在于引用表格fields
。例如,我将[Forms]![MENU]![Tabella1].[Form].[REGIONE SOCIALE]
更改为[REGIONE SOCIALE]
,将[Forms]![MENU]![Tabella1].[Form].[EnteredOn]
更改为[INSERITO IL]
,依此类推。
感谢@ June7无论如何都要珍贵的指南!