跨多个选项卡填充的唯一实验室条目
Unique lab entry populated across multiple tabs
我正在使用我 2 周的 MS Access 2007 经验(医院拥有的...)从头开始创建一个数据库,以跟踪研究患者。信息的基本流程将是这样的,从一个开始屏幕,这个人可以输入一个新病人或找到一个旧病人(每个都通过一个按钮)——得到那些部分……(他们去病人人口统计表)
找到患者后,他们可以 select 来自组合框的先前就诊(得到那个部分)或创建新的就诊(从一个按钮,然后弹出组合的附加表单框)- 知道了那部分...(他们转到访问表)
这就是我的问题所在。在 Visit Form 上,我们需要能够生成 Lab 条目(每个 lab 条目都有多个 table 来存储数据)。我已经创建了表格(患者信息区域和 12 个选项卡,每个选项卡在数据表视图中都有不同的子表格(一个除外)),我可以获得我在 table 中输入的当前 'fake' 结果选项卡。我的问题在于获取它,以便当我们在任何一个选项卡中输入一个新的实验室日期(它会生成一个新的唯一 LabID)时,让它在其他 11 个选项卡(全部与该唯一 LabID 相关联)中填充该日期,并且每个基地都有记录table。如果 Visit 没有与之关联的实验室,我的子表单应该只是空白数据表,可以输入新的 labID。否则,如果我们已经在访问中,子表单数据表应显示所有以前唯一的 LabID 和与该访问相关的值,并有一行输入新的实验室事件。
哦是的....我们还必须能够返回到其他实验室记录,并在结果可用时 edit/add 返回给他们(病理学比其他实验室花费的时间长得多 - 等等)。但是,如果 LabID 和相关日期填充在所有 12 个选项卡中的每个表单中,则应该有一个空白 space 等待该信息可用。所以这可能不是什么大问题。
本质上,一个独特的患者会产生多次独特的访问 --> 每次访问都可以生成 1 个或多个独特的 LabID,然后这些 LabID 与许多实验室数据点相关联(所有实验室 ID 都是唯一的)。困惑了吗?如果我没记错的话,它是一对多对多对一的关系吗?
这是我的部分关系 table:
这是访问表:
对于访问表单选项卡中的每个子表单,我将 'Link master Fields' 设置为 VisitID,并将 'Link Child Fields' 设置为实验室 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
截至目前,我的访问页面构建器中没有代码。子表单基于从实验室组 tables 和 labID tables.
中提取的查询
我已经在网上和 Access 2007 Bible 上搜索了大约一个星期的答案,但我可以承认,当我不知所措并陷入困境时...专家,请帮忙! - 如果需要,我可以向数据库提供 link。
VisitsT 是您的父表单吗?您的每个子表单都以某种方式通过 LabsT 表单。您的 parent/child 应该 link 您的每个子表单的主要 VisitsT 数据,但现在看起来您正在浏览 LabsT 并且 link 输入了错误的字段。从您的连接关系来看,它看起来像 LabID = LabID (parent/child),但是您没有 linked。你的每个子表都应该有一个唯一的键(可能是 LABID 和 VISITS),看起来你试图用中间的 LabsT 形式来做到这一点。此信息应在每个子表单上重复。那么您的 parent/child 只能在 VisitID 上。
我最终将所有数据子 table 重新粘贴到一个巨大的 table 中,其中包含所有实验室变量,然后将变量分成选项卡式子表格。 VisitT 和 LabsT 之间的 Parent/child 关系现在是 VisitID/Visit_ID。
我仍然想知道如何将数据拆分成不同的 tables,就像我原来的问题一样,因为这样更容易概念化数据。所以如果有人有任何想法,请告诉我!
感谢 geeFlo 来回帮助我获得工作形式和流程!
所以我最终彻底改变了一切......我完全删除了 LabID table 并将实验室组分成单独的 tables 每个都有自己的 labgroupID 自动编号(CBCID, Chem10ID 等)。我不喜欢它,但它正确地记录了数据:实验室与按日期访问和通过访问患者相关联。如果我想随着时间的推移跟踪实验室,我会在一份按患者分类的报告中进行,然后按日期分组。也许有一天我会弄清楚如何拥有一个 LabID,每个 labsubgroups 都属于这样,这样它们就会同时填充......可能涉及一些繁重的 VBA 编码。
我正在使用我 2 周的 MS Access 2007 经验(医院拥有的...)从头开始创建一个数据库,以跟踪研究患者。信息的基本流程将是这样的,从一个开始屏幕,这个人可以输入一个新病人或找到一个旧病人(每个都通过一个按钮)——得到那些部分……(他们去病人人口统计表)
找到患者后,他们可以 select 来自组合框的先前就诊(得到那个部分)或创建新的就诊(从一个按钮,然后弹出组合的附加表单框)- 知道了那部分...(他们转到访问表)
这就是我的问题所在。在 Visit Form 上,我们需要能够生成 Lab 条目(每个 lab 条目都有多个 table 来存储数据)。我已经创建了表格(患者信息区域和 12 个选项卡,每个选项卡在数据表视图中都有不同的子表格(一个除外)),我可以获得我在 table 中输入的当前 'fake' 结果选项卡。我的问题在于获取它,以便当我们在任何一个选项卡中输入一个新的实验室日期(它会生成一个新的唯一 LabID)时,让它在其他 11 个选项卡(全部与该唯一 LabID 相关联)中填充该日期,并且每个基地都有记录table。如果 Visit 没有与之关联的实验室,我的子表单应该只是空白数据表,可以输入新的 labID。否则,如果我们已经在访问中,子表单数据表应显示所有以前唯一的 LabID 和与该访问相关的值,并有一行输入新的实验室事件。
哦是的....我们还必须能够返回到其他实验室记录,并在结果可用时 edit/add 返回给他们(病理学比其他实验室花费的时间长得多 - 等等)。但是,如果 LabID 和相关日期填充在所有 12 个选项卡中的每个表单中,则应该有一个空白 space 等待该信息可用。所以这可能不是什么大问题。
本质上,一个独特的患者会产生多次独特的访问 --> 每次访问都可以生成 1 个或多个独特的 LabID,然后这些 LabID 与许多实验室数据点相关联(所有实验室 ID 都是唯一的)。困惑了吗?如果我没记错的话,它是一对多对多对一的关系吗?
这是我的部分关系 table:
这是访问表:
对于访问表单选项卡中的每个子表单,我将 'Link master Fields' 设置为 VisitID,并将 'Link Child Fields' 设置为实验室 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
截至目前,我的访问页面构建器中没有代码。子表单基于从实验室组 tables 和 labID tables.
中提取的查询我已经在网上和 Access 2007 Bible 上搜索了大约一个星期的答案,但我可以承认,当我不知所措并陷入困境时...专家,请帮忙! - 如果需要,我可以向数据库提供 link。
VisitsT 是您的父表单吗?您的每个子表单都以某种方式通过 LabsT 表单。您的 parent/child 应该 link 您的每个子表单的主要 VisitsT 数据,但现在看起来您正在浏览 LabsT 并且 link 输入了错误的字段。从您的连接关系来看,它看起来像 LabID = LabID (parent/child),但是您没有 linked。你的每个子表都应该有一个唯一的键(可能是 LABID 和 VISITS),看起来你试图用中间的 LabsT 形式来做到这一点。此信息应在每个子表单上重复。那么您的 parent/child 只能在 VisitID 上。
我最终将所有数据子 table 重新粘贴到一个巨大的 table 中,其中包含所有实验室变量,然后将变量分成选项卡式子表格。 VisitT 和 LabsT 之间的 Parent/child 关系现在是 VisitID/Visit_ID。
我仍然想知道如何将数据拆分成不同的 tables,就像我原来的问题一样,因为这样更容易概念化数据。所以如果有人有任何想法,请告诉我!
感谢 geeFlo 来回帮助我获得工作形式和流程!
所以我最终彻底改变了一切......我完全删除了 LabID table 并将实验室组分成单独的 tables 每个都有自己的 labgroupID 自动编号(CBCID, Chem10ID 等)。我不喜欢它,但它正确地记录了数据:实验室与按日期访问和通过访问患者相关联。如果我想随着时间的推移跟踪实验室,我会在一份按患者分类的报告中进行,然后按日期分组。也许有一天我会弄清楚如何拥有一个 LabID,每个 labsubgroups 都属于这样,这样它们就会同时填充......可能涉及一些繁重的 VBA 编码。