【问题标题】:Listbox Form Navigation & Record Summary in Access 2010Access 2010 中的列表框表单导航和记录摘要
【发布时间】:2011-10-26 05:40:37
【问题描述】:

我正在使用 Access 2010 中的一个项目来创建一个带有子表单的表单。在我的表单一侧,我有一个列表框控件,我想用输入到我的子表单中的个人信息记录的FirstName 来更新它。此外,我希望列表框可以单击以便于我的用户导航,以便他们可以简单地单击一个人的姓名并将记录加载到子表单中。有没有一种简单的方法可以做到这一点,还是我注定要使用 VBA?如果是这样,我真的很想得到一些帮助。示例代码可以挽救生命。

为了提供一些上下文,这里有一些示例表:

Families (ID, LastName, HomeAddress, City, State, Zip)
People (ID, FirstName, FamilyID, Phone, Email)

要求

  • 名为“所有成员”的列表框应显示当前FamilyID 的所有家庭成员
  • 应在每个新添加的家庭成员时自动更新
  • 应在单击 FirstName 时加载包含该人数据的子表单

以下是表单/子表单的一些图片并选择属性以帮助理解我的目标:)

在过去的几个小时里,我一直试图在来这里之前找到这个问题的答案。你会比你知道的更多地帮助我。非常感谢能帮我解决这个问题的人;)

【问题讨论】:

    标签: ms-access listbox navigation summary


    【解决方案1】:

    完全有可能完全不用编码就可以做到这一点。确保列表框的绑定列是FamilyID,并且FamilyID在子表单控件表单(内容)的记录中,然后像这样设置子表单控件属性(注意:控件,而不是内容)

    Link Master Fields :  NameOfListBox
    Link Child Fields  :  FamilyID
    

    更多信息重新评论

    Recordset 不是属性,如果您继续使用 Access,您会经常遇到这个词。

    我误读了您的要求,需要绑定列的是 People.ID:

    列表框:FamilyMembers

    Data Tab
    RowSource : SELECT People.ID, People.FirstName FROM People         
                WHERE (((People.FamilyID)=[Forms]![Families]![ID])) 
                ORDER BY People.FirstName;
    
    Bound Column  : 1
    
    Format Tab
    Column Count  : 2
    Column Widths : 0cm;2.54cm
    

    子表单控件

    Link Master Fields : FamilyMembers
    Link Child Fields  : ID
    

    子窗体控件的形式

    Record Source : SELECT [People].[ID], [People].[FirstName], etc FROM [People]
    

    【讨论】:

    • 我找不到子表单的“RecordSet”属性,它不允许我设置“链接主字段”,因为它说的数据类型不同。它还抱怨将“绑定列”设置为文本,因为它“对此字段无效”。我究竟做错了什么?我怀疑是因为我找不到 RecordSet?不确定这是否是您要拼写的。
    • 我用图片更新了我的帖子。我在执行您的建议时遇到了麻烦。一些帮助将不胜感激。 :)
    • @Chiramisu 我已经添加了一些注释。
    • @Chiramisu 您必须输入,而不是选择。至少从 Access 2000 开始,这就是一个选项。
    • 是的,当您最初回答时我尝试过,但它不会让我这样做,但我会在几个小时内再试一次。我当然希望我能做到这一点,我认为它真的会帮助我的最终用户体验。我会及时通知你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    相关资源
    最近更新 更多