首页 文章

MS Access子表单,表单视图中包含#Error的字段

提问于
浏览
0

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表达式来测试它但是现在当我在窗体视图中尝试查看时MSAccess崩溃了 .

如何在子表单的新记录中删除字段中的#error?

马尔科姆

2 回答

  • 0

    有一些方法可以解决这个问题,但是一种方法是让子窗体的记录源最初为空,然后在主窗体的after insert事件上填写记录源 .

  • 0

    我知道一个可能的错误是你没有正确嵌套表单;

    它所在的主要“容器”形式需要包含在语句中

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

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

相关问题