首页 文章

访问表单显示所选组合框项目的其他表格的字段

提问于
浏览
1

我是Microsoft Access的新手 . 这是我的结构:

Suppliers ,包含字段 NameAddressZipPhoneNumber
Purchases 表示字段 SupplierAddressZipPhoneNumber (以及其他一些不相关的字段)

Purchases 表中的 Supplier 字段应包含对 Suppliers 表中记录的引用 .

现在我正在创建一个表单,以便用户可以输入 Purchases 记录 . 它有一个组合框可以选择 SupplierAddressZipPhoneNumber 的一些文本字段 . 我想要的是当用户选择 Supplier 时, AddressZipPhoneNumber 的值将从选定的 Supplier 复制到表单中的相应文本字段 .

如何使用Visual Basic代码实现此结果?

1 回答

  • 3

    首先要小心谨慎 . 复制日期有时是错误的方法,因为它会破坏数据的关系完整性 . 也就是说,有时可以有完全正确的理由这样做 . 我不会再进一步讨论这个问题了 .

    最简单的方法之一是确保您在供应商组合框的记录源中提供数据 . 它们不需要可见,您可以将列宽设置为0以隐藏它们 . 让我们假装你的记录来源是:

    SELECT Suppliers.[Name], Suppliers.Address, Suppliers.Zip, Suppliers.PhoneNumber from Suppliers
    

    现在在组合框AfterUpdate事件中,我们复制数据 .

    Private Sub SupplierCombo_AfterUpdate()
      If IsNull(Me.SupplierCombo) Then
        Me.txtAddress=Null
        Me.txtZip=Null
        Me.txtPhoneNumber=Null
      Else
        Me.txtAddress=me.SupplierCombo.Column(1)
        Me.txtZip=me.SupplierCombo.Column(2)
        Me.txtPhoneNumber=me.SupplierCombo.Column(3)
      End If
    
    End Sub
    

    如果您的文本框已绑定,那么您就完成了 . 如果它们未绑定,您还需要表单当前事件中的代码,以确保在从1条记录移动到下一条记录时文本框更新 .

    希望有助于

相关问题