我一直在设计一个数据库系统,以帮助我们的一些顾问通过电话快速选择合适的产品。
我已将所有表格设置为包含所有信息(由同事提供)。
我遇到了一个问题,因为有一些标准可能会被应用。我只做了一个标准。筛选产品列表的最佳方法是什么。
以下是我们的用户界面的屏幕截图,其中包含标准数量。
用户选择品牌名称时会填充产品名称列表。然后,选项按钮允许用户尽可能地过滤列表。
答案 0 :(得分:1)
我在工作中的Access数据库应用程序中做了类似的事情。我这样做的方法是在我的表单顶部有一堆标准,就像你在图像的左侧那样,在所有条件之后有一个 Find 按钮,然后到有一个数据表子表格,以显示符合标准的所有找到的匹配。
子表单将绑定到数据源,该数据源将是SQL查询,如下所示:
select *
from tbl_products
where brand_name = [Forms]![MyForm]![BrandName]
and option_1 = [Forms]![MyForm]![Option1]
and option_2 = [Forms]![MyForm]![Option2]
...
你需要一个小的VBA事件处理程序来处理 Find 按钮上的click事件,只刷新子窗体。这将自动重新运行上述查询并显示所有匹配的产品。
虽然有点复杂:你需要决定不选择其中一个选项意味着什么。这是否意味着'不,我不想要这个选项',或者它是否意味着'我不知道这个选项的选择是什么'?如果是后者,为了清楚起见,我可能会使用一组三个单选按钮(“是”,“否”,“不知道”)而不是复选框。当然,对于表单开发人员来说,这有点复杂,但对用户来说更清楚。