如何解决Access - 导航表单将记录源更改为目标名称并取消绑定控件
我有一系列使用 VBA 过滤的表单都工作正常,直到将表单添加到导航表单,然后返回一个错误,指出“操作或方法无效,因为表单或报告未绑定到表格或查询'
我认为...这是因为导航表单没有记录源...而是它有一个目标名称
在原始表单上,属性记录源是 tblAvailableHours2
在导航表单上,属性是目标名称 Frm_Available_Capacity_Hours
它是一个简单的日期过滤器,
Private Sub ApplyDtFilt_Click()
On Error GoTo ApplyDtFilt_Click_Err
DoCmd.ApplyFilter,"[Start Date] Between #" & Format([AVstrtdt],"yyyy\/mm\/dd") & "# And #" & Format([Avendt],"yyyy\/mm\/dd") & "#"
ApplyDtFilt_Click_Exit:
Exit Sub
ApplyDtFilt_Click_Err:
MsgBox Error$
Resume ApplyDtFilt_Click_Exit
End Sub
有没有办法将上述过滤器链接回 VBA 中的原始表 tblAvailableHours2 或操作属性表中的导航表单记录源/目标名称以使其再次工作?
解决方法
我没有使用导航表单,但如果您的表单是一个子表单,您必须通过包含它的子表单控件来解决这个问题:
Private Sub ApplyDtFilt_Click()
On Error GoTo ApplyDtFilt_Click_Err
With Me!NameOfSubformControlHoldingFrm_Available_Capacity_Hours.Form
.Filter = "[Start Date] Between #" & Format([AVstrtdt],"yyyy\/mm\/dd") & "# And #" & Format([AVEnDt],"yyyy\/mm\/dd") & "#"
.FilterOn = True
End With
ApplyDtFilt_Click_Exit:
Exit Sub
ApplyDtFilt_Click_Err:
MsgBox Error$
Resume ApplyDtFilt_Click_Exit
End Sub
,
Private Sub ApplyDtFilt_Click()
On Error GoTo ApplyDtFilt_Click_Err
With Forms![EPM-V2]![NavigationSubform].Form
Filter = "[Start Date] Between #" & Format([AVstrtdt],"yyyy\/mm\/dd") & "#"
.FilterOn = True
End With
ApplyDtFilt_Click_Exit:
Exit Sub
ApplyDtFilt_Click_Err:
MsgBox Error$
Resume ApplyDtFilt_Click_Exit
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。