代码之家  ›  专栏  ›  技术社区  ›  jheddings

如何在MS Access查询中指定默认值?

  •  2
  • jheddings  · 技术社区  · 14 年前

    我有三张类似的表:

    关税: Number | Date | Customer
    TBLVIN详细信息: Invoice | Quantity | Rate | Description
    任务支付: Invoice | Date | Amount

    我创建了一个名为 exInvDetails 增加了 Amount 列到 tblInvDetails :

    SELECT tblInvDetails.*, [tblInvDetails.Quantity]*[tblInvDetails.Rate]* AS Amount
    FROM tblInvDetails;
    

    然后我创建了一个查询 exInvoices 添加 Total Balance 列到 tblInvoices :

    SELECT tblInvoices.*,
      (SELECT Sum(exInvDetails.Amount) FROM exInvDetails WHERE exInvDetails.Invoice = tblInvoices.Number) AS Total, 
      (SELECT Sum(tblPayments.Amount) FROM tblPayments WHERE tblPayments.Invoice = tblInvoices.Number) AS Payments,
      (Total-Payments) AS Balance
    FROM tblInvoices;
    

    如果没有相应的付款 tblPayments ,字段为空,而不是 0 . 是否有方法强制结果查询 在这个专栏里?

    2 回复  |  直到 8 年前
        1
  •  3
  •   Donnie    14 年前

    使用 nz() 函数,如 nz(colName, 0) . 这个会回来的 colName ,除非它为空,否则在这种情况下,它将返回第二个参数(在本例中为0)。

        2
  •  1
  •   Antti Haapala -- Слава Україні    8 年前

    我认为默认值喜欢 field location。例如,我的字段是 id that is in tblemppcs table,i used a criteria below.

    iif([forms]![frmsearchbyemp]![cBoturul]=“ID”,[Forms]![frmsearchbyemp]![ezemshigh],[tblemppcs]。[id])
    < /代码> 
    
    

    有错误值是标准的默认值。

    我上传了一张查询条件的图片。它可以帮助您。

    那是在tblEmpPCs表中,我使用了下面的标准。

    IIf([Forms]![frmSearchByEmp]![cboTurul]="ID",[forms]![frmSearchByEmp]![Ezemshigch],[tblEmpPCs].[ID])
    

    其中有假值是条件的默认值。

    Query Criteria Default Value in IIf function

    我上传了一张查询条件的图片。这可能对你有帮助。