Vba MS Access偶尔会从“是/否”字段中删除复选框,并将其替换为0和-1

Vba MS Access偶尔会从“是/否”字段中删除复选框,并将其替换为0和-1,vba,ms-access,checkbox,Vba,Ms Access,Checkbox,我的新数据库是使用各种查询和表构建的。这些表和查询有两个复选框字段,分别设置为“测试”和“批准”。它们发挥作用的方式是,我在一个名为“ApprovalForm”的表单上有按钮,可以打开另一个名为“ViewForm”的表单。目标是“每次单击其中一个按钮时,ViewForm都会更改其子窗体的源对象。ApprovalForm会先关闭自身,然后ViewForm会打开,然后subform.SourceObject会更新为单击任何按钮所指定的查询 Private Sub View_NonSize_AP

我的新数据库是使用各种查询和表构建的。这些表和查询有两个复选框字段,分别设置为“测试”和“批准”。它们发挥作用的方式是,我在一个名为“ApprovalForm”的表单上有按钮,可以打开另一个名为“ViewForm”的表单。目标是“每次单击其中一个按钮时,ViewForm都会更改其子窗体的源对象。ApprovalForm会先关闭自身,然后ViewForm会打开,然后subform.SourceObject会更新为单击任何按钮所指定的查询

   Private Sub View_NonSize_APL_Click()
On Error GoTo View_NonSize_APL_Click_Err

    DoCmd.Close acForm, ("ApprovalForm")
    DoCmd.OpenForm ("ViewForm")
    Forms!ViewForm!View_Subform.SourceObject = "Query.NonSize - APL View"
    Forms!ViewForm!View_Subform.Form.Requery
    Forms!ViewForm.Form.Requery
    Forms.ViewForm.Caption = "NonSize - APL View"

View_NonSize_APL_Click_Exit:
    Exit Sub

View_NonSize_APL_Click_Err:
    MsgBox Error$
    Resume View_NonSize_APL_Click_Exit

End Sub
完成该过程后,最终结果应该是字段由查询填充,该查询正在一旁查看表。用户无权访问表本身,只能访问特定的select查询。但是,在极少数情况下,复选框不会正确加载,而是显示为0和-1。t的特殊之处是什么他的意思是,当您单击“ViewForm”上返回“ApprovalForm”的按钮并再次单击相同的按钮时,复选框将正确加载

我的猜测是,它与“ViewForm”的加载方式有关,并且由于它是一个业务项目,所以它所使用的计算机不是最佳的。我试图通过使用“重新查询”和“刷新”来纠正这种情况“希望在代码中重新加载进程。我还尝试过在加载表单后关闭表单,然后立即重新加载表单这一繁琐的方法。(打开表单,加载查询,关闭表单,然后再次打开表单。)这实际上破坏了整个过程

我能做些什么来解决这个问题吗