我正在使用我在 MS Access 2007(医院拥有的……)方面的 2 周经验从头开始创建数据库,以跟踪研究患者。信息的基本流程是这样的,从一个开始屏幕,这个人可以输入一个新病人或找到一个老病人(每个都通过一个按钮) - 得到这些部分......(他们去一个病人人口统计表格)
找到患者后,他们可以从组合框中选择以前的就诊(获取该部分)或创建新就诊(通过一个按钮,然后弹出组合框的附加表单)- 获取该部分... (他们去访问表格)
这就是我的问题所在。在访问表单上,我们需要能够生成实验室条目(每个实验室条目都有多个表来存储数据)。我已经创建了表单(患者信息区域和 12 个选项卡,每个选项卡在数据表视图中都有不同的子表单(一个除外)),我可以获得我在表中输入的当前“假”结果以显示在选项卡中。我的问题在于获取它,以便当我们在任何一个选项卡中输入新的实验室日期(确实会生成一个新的唯一 LabID)时,让它在其他 11 个选项卡(都与该唯一 LabID 相关联)中填充该日期和记录在每个基表中。如果访问没有与之关联的实验室,我的子表单应该只是空白数据表,可以输入新的 labID。否则,如果我们已经在访问,
哦,是的....我们还必须能够回到那些其他实验室记录并在结果可用时对其进行编辑/添加(病理学比其他需要更长的时间 - 等等)。但是,如果 LabID 和相关日期填充在所有 12 个选项卡中的每个表单中,则应该有一个空白区域等待该信息可用时。所以这可能不是什么大问题。
本质上,一个独特的患者将产生多次独特的就诊——>每次就诊可以产生 1 个或多个独特的 LabID,然后与许多实验室数据点相关联(对于该实验室 ID 来说都是唯一的)。迷茫了吗?如果我的想法是正确的,那是一对多对多对一的关系吗?
这是我的关系表的一部分:
这是访问表格:
对于访问表单选项卡中的每个子表单,我将“链接主字段”设置为 VisitID,并将“链接子字段”设置为 Lab ID。我已经设法通过少量的 VBA 编码完成了所有这些工作,但这是让我从患者人口统计页面上的组合框中获得的编码:
Private Sub VisitCBO_Change()
Dim ptWHERE As String
ptWHERE = "[VisitID] = " & Me.VisitCBO.Value
DoCmd.OpenForm "NewVisitsF", acNormal, , ptWHERE, acFormEdit
VisitCBO = Null
End Sub
截至目前,我的构建器中没有访问页面的代码。子表单基于从实验室组表和 labID 表中提取的查询。
一周以来,我一直在网上和 Access 2007 圣经中寻找答案,但我可以承认,当我不知所措并陷入困境时……专家,请帮忙!- 如果需要,我可以提供指向数据库的链接。