MS access 2007 使用组合框填充图片

Posted

技术标签:

【中文标题】MS access 2007 使用组合框填充图片【英文标题】:MS access 2007 use combobox to populate picture 【发布时间】:2013-04-07 18:47:41 【问题描述】:

问题:

在我的表单中我需要做什么才能使用组合框并让它在表单和表格上自动填充图片?

信息:

在 Microsoft Access 2007 中,我有 1 个表格和 1 个表单。该表包含姓名、电话、地址和图片的所有信息,所有信息都直接出现在表格中。我有一个用于 com、fam1、fam2 和 fam3 的组合框,当我在组合框上选择一个名称时,它会自动填充表格和表单上的信息,用于 com、com 电话和 com 地址,但不是图片。我在想我需要为组合框的“on change”做一些 VB 编码。图 1 显示了表格的格式。图 2 显示了表格的格式。

Picture1 http://dplcollagentherapy.com/pic01.JPG

Picture2 http://dplcollagentherapy.com/pic02.JPG

【问题讨论】:

在您的表单布局中,我看到一个与表格中的每个字段相对应的控件。这就说得通了。我看到的是为什么这些图片应该更改(除非您导航到表中的另一条记录)。假设您从 Com 组合框中选择了一个新值。这将更改表中该记录的Com 字段中的值,但不会影响[com picture] 字段。是否还有其他一些您忘记提及的后台处理? 【参考方案1】:

我能够使用以下代码弄清楚如何更新 com 电话和 com 地址。但是组合框不允许我将图片添加到第 3 列中,这会使这变得容易得多。我会在某个时候做一份报告,让报告查找图片可能更容易。不确定我会为查找使用什么编码。再次感谢你。 代码

Option Compare Database

Private Sub Combo30_Change()
Me.txtcomphone.Value = Me.Combo30.Column(1)
Me.txtcomaddress.Value = Me.Combo30.Column(2)
Me.com_picture = dlookup("name", "Elders", "Name=" & Com)
End Sub

Private Sub Combo32_Change()
Me.txtfam1phone.Value = Me.Combo32.Column(1)
Me.txtfam1address.Value = Me.Combo32.Column(2)
End Sub

Private Sub Combo48_Change()
Me.txtfam2phone.Value = Me.Combo48.Column(1)
Me.txtfam2address.Value = Me.Combo48.Column(2)
End Sub

Private Sub Combo56_Change()
Me.txtfam3phone.Value = Me.Combo56.Column(1)
Me.txtfam3address.Value = Me.Combo56.Column(2)
End Sub

【讨论】:

【参考方案2】:

我这样做的方式不是将实际图像放在表格中,而是将它们全部放在表单本身上。为每张图片分配其自己的唯一名称,该名称对应于与其关联的字段。每张图片都设置为不可见。然后在VBA中你可以写这样的代码:

If Me.ComboBox = Name Then
Me.NamesPicture.Visible = True
Else
Me.NamesPicture.Visible = False
End If

您可以将所有图片堆叠在一起,VBA 运行非常流畅,我过去曾将它用于工作中的小型项目。希望这会有所帮助! :)

【讨论】:

以上是关于MS access 2007 使用组合框填充图片的主要内容,如果未能解决你的问题,请参考以下文章

MS Access,根据文本框条目填充组合框

在 access 2007 中编辑组合框

MS ACCESS 2007 - 从子表单中的组合框中选择值会创建重复值

MS Access - 自动填充在组合框中不起作用

从 MS Access 数据库行填充 VB 组合框

ms-access 2007 年报告