我将Access用作存储客户数据的关系数据库的前端。这旨在替换本质上是一些excel电子表格(即非关系式)的Alpha Five数据库。输入联系人的旧表格使用Alpha的“按表格查询”功能,Access的等效项是“按表格过滤”。当联系人数据库是扁平的时,这一切都很好,但是现在将其拆分成关系结构,联系人条目表单由多个子表单组成,代表一对多或多对多关系。看起来像这样:
按表单过滤适用于主表单(左上角的字段),完全符合我的用户习惯,以相同的方式支持通配符,等等。但是,它似乎不适用于通过子表单中的值过滤主表单。基本上,如果用户在考虑“我有一个我不记得名字的客户,但是他们住在芝加哥,姓约翰逊”,那么他们会很不幸。这是一个问题,因为它很可能发生,而以前的(扁平)数据库从来都不是问题。
问题出在这里:我想按地址搜索,这是与人一对多关系的一个方面(即一个人可以有多个地址)。因此,我将进入“按表格过滤”模式,并在地址1中键入“ 123 Boulevard Drive”。我单击“切换过滤器”开始搜索,但没有得到任何结果。空白页,但“地址”子窗体在导航栏中显示“已过滤”。
这仅仅是Access的固有限制吗?这似乎很奇怪,因为Access旨在适应关系数据库,并且在子窗体连接方面往往做得很好。
一些其他有用的信息:
-后端是MySQL数据库。
-“来源”,“医疗类型”和“兴趣”子表单均表示多对多关系,而“地址”,“电话号码”和“注释”均为一对多。