概述
在实际应用中我们经常会遇到诸如学历、客户类别等通过下拉列表直接选择进行输入的数据,这样即简化了输入,又避免了手工输入可能会发生的错漏。
但是这样的数据要如何存储呢?在设计的时候写死明显不是太好的选择,虽然这样的数据发生变动的可能性较小,但是仍然不能完全避免。
因此最好的办法就是存入数据库中。不过这类数据如果每一项都单独建一个表,就会很麻烦。
尤其是在比较多的情况下,需要建很多这样的表,查询时需要联接很多表,会极大影响数据库性能,并且每个表都要创建相应的数据维护窗体等。
基于上述情况,在快速开发平台中,为大家提供了一个通用的数据维护模块,将所有这类数据都在同一个表中进行维护。
数据存储
查阅列表的数据保存在 Sys_LookupList 表中,其实结构如下:
- 数据项:Item
- 序号:SN
- 值:Value
- 分类:Category
- 备注:Notes
调用方式
要调用查阅列表数据,有 2 种方式:
调用方式1:使用 VBA 代码(推荐)
可以在 VBA 代码中使用 LookupItemSQL 函数向组合框或列表框加载行来源;
'最常用使用的方式: Me!学历.RowSource = LookupItemSQL("学历") '使用分类应对更复杂的情况: Me!城市.RowSource = LookupItemSQL("城市", "华中地区")
调用方式2:设置行来源属性
直接设置组合框或列表框的“行来源”属性:
--最常用使用的方式: SELECT Value FROM Sys_LookupList WHERE Item='学历' AND Value<>'' ORDER BY SN --使用分类应对更复杂的情况: SELECT Value FROM Sys_LookupList WHERE Item='城市' AND Category='华中地区' Value<>'' ORDER BY SN
两种调用方式的对比
方式1更简单且易于维护,因为在 VBA 代码可以使用查找功能定位,但需要有一些 VBA 编程基础。
方式2则更直观明了,初学者更容易理解。
2019-07-10 基于 2.5.1 版本更新