![使用 MS Access 建立服务报价数据模型](https://linux22.com/image/1430081/%E4%BD%BF%E7%94%A8%20MS%20Access%20%E5%BB%BA%E7%AB%8B%E6%9C%8D%E5%8A%A1%E6%8A%A5%E4%BB%B7%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B.png)
我正在尝试使用 MS Access 创建一个简单的报价工具。它应该是标准订单 - 订单详情 - 产品类型的 M2M 数据模型的变体,但复杂之处在于每个“产品”都由多个不同数量的资源组成。我搜索了很多,一直看到相同的多对多模型,但这是一种多对多对多。
背景:每份报价包含一个或多个项目的明细。每个项目由多个资源(Web 开发人员、开发人员、项目经理、设计师等)组成,工作时长为一定数量。如果您将小时数乘以每个资源的资源费率,然后将结果加到项目中,您就会得到项目成本。然后,所有项目加起来就是报价的总成本。
使用扩展的多对多关系,我已将其实现为可以添加多个项目,然后仅使用嵌套表即可将资源添加到项目中。但是,我希望能够拥有一个项目“目录”,其中存储了资源和默认小时数,然后能够将项目添加到报价中。然后,我需要能够编辑报价中每个资源的小时数,而无需更改项目的“目录版本”。正如我到目前为止所建模的那样,项目小时数将与目录小时数分开存储。
我是否只需要使用一些 VBA 代码将目录项目复制到报价项目中?
该结构如下所示:
引文 1234
- 项目:网页搭建
- 项目经理:10 小时
- 设计师:20 小时
- 开发人员:50 小时
- 项目:培训课程
- 培训师:6 小时
引用 12345...
我在访问图中有关系,但没有足够的代表来发布图像。
ORDERS (1-M 到 orders_projects)
.........................
OrdersID
描述
ORDERS_PROJECTS(1-M 到 orders_projects_resources,M-1 到 Projects)
....................
Orders_ProjectsID
fkOrdersID
fkProjectsID
ORDERS_PROJECTS_RESOURCES(M-1 到资源)
..........................
ID
fkResourceID
fkOrders_ProjectsID
QtyHours
资源 (1-M 至 Projects_Resources)
....
资源 ID
标题
费率每小时
项目(1-M 到项目资源)
.................
ID
描述
PROJECTS_RESOURCES(M-1 到资源,M-1 到项目)
................................
Projects_ResourcesID
fkResourcesID
fkProjectsID
QtyHoursDefault