使用 LookUp 函数返回记录

已完成

LookUp 函数用于返回单条数据记录。 Lookup 不同于 Filter 函数,后者返回表中的一条或多条记录。 将 LookUp 函数用于需要指定单条记录的控件,例如窗体控件。 此外,还可在标签等控件中使用点 (.) 标记显示记录的单个字段。

在此示例中,请参考存储在名为 collectCustomerInvoices 的集合中的以下数据表。

ClearCollect(collectCustomerInvoices, {ID:1, Date:"4/10/2020", CustomerName:"Fabrikam", Amount:212.00}, {ID:2, Date:"3/1/2020", CustomerName:"Contoso", Amount:47.89}, {ID:3, Date:"3/14/2020", CustomerName:"Contoso", Amount:32.99},{ID:4, Date:"4/2/2020", CustomerName:"Fabrikam", Amount:105.32}) 
ID 日期 CustomerName Amount
1 2020/4/10 Fabrikam 212.00
2 2020/3/1 Contoso 47.89
3 2020/3/14 Contoso 32.99
4 2020/4/2 Fabrikam 105.32

请使用以下公式返回日期为 2020/3/14 的记录。

LookUp(collectCustomerInvoices, Date = "3/14/2020")

此公式会返回数据源中与日期条件 2020/3/14 相匹配的第一条记录。 例如可在窗体控件的 Item 属性中使用本公式。

LookUp 函数的另一个常见用途是显示记录中的字段。 例如在数据关系中查看 Contoso 数据并且想要仅返回标签控件中 ID 为 3 的发票金额。 您将添加标签控件,然后在 Text 属性中使用以下公式显示金额。

LookUp(collectCustomerInvoices, ID =3).Amount

此公式将在标签控件中显示 32.99。 这是因为 LookUp 函数会返回 ID 为 3 的整个记录。 函数末尾的 .Amount 记号返回该记录的 Amount 字段。

每次使用 LookUp 函数时数据源都会查询该记录。 查找集合的速度较快,因为集合在应用本地。 但如果直接查找数据源(这种做法很常见),反复对数据库进行相同的查询效率低下。

为了避免重复查询,如果数据不会更改,可将记录存储在变量中。 然后使用 . 点记号从变量返回值。 示例如下:

  1. 向应用添加按钮控件。

  2. 按钮控件的 OnSelect 设置为以下公式:

    Set(varRecord, LookUp(collectCustomerInvoices, ID =3))
    
  3. 向应用添加标签控件。

  4. 标签 控件的 Text 属性设置为以下公式:varRecord.Amount

这些步骤为您提供的结果与上一示例相同,但现在记录存储在变量 varRecord 中。 您可以通过相同的方式直接访问其他属性。