我遇到类似情况 - MS Access 2007中的客户表单包含客户提供的文档列表。该清单采用清单格式。假设清单下有6个文件。因此,如果选择了一个或多个清单,则所有选定的列表都应保存在名为" Documents_Provided"的数据库列中。因此,为了实现这种情况,我应该做些什么。我的数据库字段应该如何" Documents_provided"应该声明,我需要在VBA代码中写什么。
答案 0 :(得分:0)
根据您的问题标题建议" 多个要存储在数据库的列中"是一个非常糟糕的表设计,它打破了Fundamentals of Database Design的规则之一,数据应该是原子的。
您应该拥有的系统是客户和文档表之间的一对多。 Customer
表通常具有基本的客户信息;关系的一方,Documents
表将包含与每个客户相关的所有文档;关系的很多方面。另外,您将有另一个表Document Category
,它将说明每个客户需要/可以拥有的所有文档。因此,表格中的示例数据将类似于
tbl_Customers
`````````````
ID | customerName | customerArea
----+-------------------+------------------
1 | Paul | Bournemouth
2 | Eugin | Bristol
3 | Francis | London
tbl_DocumentsCategory
`````````````````````
ID | DocumentName
----+---------------------------
1 | Address Proof
2 | Photo ID
3 | Employer Certificate
tbl_CustomersDocument
`````````````````````
ID | CustomerID | DocumentID
----+---------------+--------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 2 | 1
5 | 2 | 3
6 | 3 | 2
因此,当您需要获取每个客户拥有的文档列表时,您只需加入两个表以获取正确的信息。这是组织数据的标准和有效方式。我希望这会有所帮助,你坚持这一点。