Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database MS-Access数据库_Database_Ms Access_Relationships - Fatal编程技术网

Database MS-Access数据库

Database MS-Access数据库,database,ms-access,relationships,Database,Ms Access,Relationships,我正在为我们的狩猎俱乐部建立一个数据库,加上沿途的学习访问…哎哟 我希望数据库包含所有观察到的鹿及其位置,当用户输入数据时,它将显示为buck/doe/fawn/unknown,他们还将输入观察到鹿的位置。该位置可以是位于酒店不同位置的展台,也可以是位于食物区的展台 这就是我困惑的地方,我到了这一点,真的不知道该走哪条路。我遵循了很多规范化技术并建立了关系。我正在使用一个表单(frmEnterNewStand)将展台添加到数据库中,我需要的是一个组合框,其中的选项来自两个表(tblPropert

我正在为我们的狩猎俱乐部建立一个数据库,加上沿途的学习访问…哎哟

我希望数据库包含所有观察到的鹿及其位置,当用户输入数据时,它将显示为buck/doe/fawn/unknown,他们还将输入观察到鹿的位置。该位置可以是位于酒店不同位置的展台,也可以是位于食物区的展台

这就是我困惑的地方,我到了这一点,真的不知道该走哪条路。我遵循了很多规范化技术并建立了关系。我正在使用一个表单(frmEnterNewStand)将展台添加到数据库中,我需要的是一个组合框,其中的选项来自两个表(tblProperty部分用于不位于食物区的展台)和(tblFoodplots用于位于食物区的展台)。但我想不出那一个。所以我试图添加食物区作为另一个条目,但事情开始变得一团糟

因为我是新手,我甚至不知道该问什么问题,但我就是想不出最好的方法来组织它,以便能够轻松地输入数据,然后轻松地访问数据

我知道我们需要执行查询以获得统计数据,即观察到多少只鹿等等,我们还需要查询食物区,例如在食物区1上看到多少只鹿,以及一天中的什么时候。我们还将关注其他食物区参数

我一直在学习我的课程,并且有几本书,但是我的头脑已经崩溃了,任何帮助都将不胜感激

我将包括一个我们物业的示例地图,蓝色数字是物业的不同部分(tblPropertySections),黄色S数字是展位1、2等,橙色F数字是食物区1、2等

还包括我目前的截图。我本打算尝试发布图片,但我想我至少需要10个声誉点

我不确定我还需要提供什么,但我会提前说声谢谢 提姆

多谢各位
蒂姆

我认为你应该从简单开始,根据需要增加复杂性

从我对这个问题的理解来看,主要结果是建立了一个记录鹿目击事件的数据库。最简单的“数据库”只是一个列有观测和相关信息的表格

例如:

ID, Date, Time, DeerType, Location, SeenBy, Comments
1, 1/1/2015, 11:45pm, "Doe", "Behind the shed", "Garry Abblet", "After a few beers Garry went for a slash and saw a deer"

从那开始,然后担心需要添加什么。我知道单表并不是最令人兴奋的数据库,但您应该遵循最简单的解决方案通常是最好的理念。

访问表单本质上是表的可视化表示。事实上,如果用户只是计算机,您就不需要用户界面,而是可以通过代码管理处理(编辑、添加、保存、删除)。组合框表单控件是从其他表(特别是外键)中选择相应数据所需的工具

正如你所指出的,一个摊位既可以在地产区,也可以在食物区。因此,在tblStands表中,您可以携带两个外键:Property Section ID和Food Plot ID

然后,在其相应形式的tblStands上,ID将存储/绑定在组合框中,其行源是底层表的查询:

SELECT id, PropertySectionName FROM tblPropertySections

SELECT id, FoodPlotName FROM tblFoodPlots
现在,计算机将知道选择哪个ID,而不知道需要姓名/头衔来帮助识别要选择哪个项目的人。幸运的是,组合框附带了一个特殊的隐藏列功能,其中ID可以从视图中隐藏,但其相关名称会显示在表单上。但是,ID存储在表中。当您选择并定位组合框时,您可以使用向导进行设置

在所选组合框的属性页中手动或不使用向导方法执行以下操作:

格式选项卡

Column Count: 2 (or any greater than 2 depending on RowSource query)
Column Width: 0"; 1" (or any non-zero that fits into combo box's width)
数据选项卡

Control Source: PropertySheetID (or FoodPlotID)
Row Source: (see above queries)
Row Source type: table/query
Bound column: 1 

总之,用户将导航到frmenternewsand,通过输入一个组合框而不是另一个组合框来选择摊位是否位于酒店区或食品区(根据需要留下标签说明,因为用户是人)。

非常感谢您的回复,在接下来的几天里,我需要一些时间来消化这一点,并将其与我所拥有的进行比较。在这样做的过程中,我发现我有可能不需要的连接表,我正在读的书让我设置了它们,但现在我读到另一个来源说连接表主要用于多对多关系,也就是说,一只雄鹿可以被很多猎人看到,而一只猎人可以看到很多雄鹿,所以tblBucks和tblHunters需要一个连接表,对不对。事实上,这就是我从一个表开始的方式,但后来我开始阅读有关数据库规范化和关系的内容,这就是它开始变得混乱的时候。正如你提到的,我可能不得不回到第一步,一次补充一点。我仍然在为你的评论而发火