使用 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 函数时数据源都会查询该记录。 查找集合的速度较快,因为集合在应用本地。 但如果直接查找数据源(这种做法很常见),反复对数据库进行相同的查询效率低下。
为了避免重复查询,如果数据不会更改,可将记录存储在变量中。 然后使用 . 点记号从变量返回值。 示例如下:
向应用添加按钮控件。
将按钮控件的 OnSelect 设置为以下公式:
Set(varRecord, LookUp(collectCustomerInvoices, ID =3))
向应用添加标签控件。
将标签 控件的 Text 属性设置为以下公式:varRecord.Amount
这些步骤为您提供的结果与上一示例相同,但现在记录存储在变量 varRecord 中。 您可以通过相同的方式直接访问其他属性。