Ms access MS Access子表单,表单视图中的字段带有#错误

Ms access MS Access子表单,表单视图中的字段带有#错误,ms-access,Ms Access,MS Access 2003 我在一个子窗体后面有一个查询,该子窗体具有如下sql语句: SELECT ClientTotalInvoiceLineItems.* , CDate(GetWeekEnding([WeekEnding1],[WeekEnding2],[WeekEnding3],[WeekEnding4],[WeekEnding5],[WeekEnding6])) AS WeekEnding , CapturedInvoices.EnteredInvoiceNo

MS Access 2003

我在一个子窗体后面有一个查询,该子窗体具有如下sql语句:

SELECT ClientTotalInvoiceLineItems.*
     , CDate(GetWeekEnding([WeekEnding1],[WeekEnding2],[WeekEnding3],[WeekEnding4],[WeekEnding5],[WeekEnding6])) AS WeekEnding 
     , CapturedInvoices.EnteredInvoiceNo, IIf([forms]![frmClientTotalInvoices]![frmClientTotalInvoicesSub].[Form].[NewRecord]=True,0,Ccur([ContractingFeesSubtotal])) AS Subtotal
     , CCur([GSTAmount]) AS GST, CCur([TotalDue]) AS Total
     , IIf(IsNull([ctlCreated]),'',[ctlCreated] & ' by ' & [ctlCreatedBy]) AS Added 
  FROM ClientTotalInvoiceLineItems 
 INNER JOIN CapturedInvoices
    ON ClientTotalInvoiceLineItems.ctlSourceID = CapturedInvoices.CapturedInvoicedID
 ORDER BY CDate(GetWeekEnding([WeekEnding1],[WeekEnding2],[WeekEnding3],[WeekEnding4],[WeekEnding5],[WeekEnding6])) DESC;
当表单位于新记录上时,以ccur开头的字段中出现#error

正如您所看到的,我试图在字段上放置一个Form.NewRecord表达式来测试它,但现在当我尝试在Form view中查看时,MSAccess崩溃

如何消除子窗体新记录字段中的错误


Malcolm有几种方法可以处理此问题,但有一种方法是先将子窗体的记录源清空,然后在主窗体的after insert事件中填充记录源。

我知道一个可能的错误是没有正确嵌套窗体

它所在的主“容器”表单需要包含在语句中,如

[forms]![frmClientTotalInvoices]![frmClientTotalInvoicesSub].[Form].[NewRecord]

我假设
frmClientTotalInvoices
是表单中最大的容器。

直到我在子表单中单击并开始输入数据,我才发现此错误。这让我的用户感到困惑?当然,这些ccur字段是仅显示而不是数据输入字段。