在没有文件路径的 Access 中组合框更改时显示不同的图像
Posted
技术标签:
【中文标题】在没有文件路径的 Access 中组合框更改时显示不同的图像【英文标题】:Display a different image on combo box change in Access without file paths 【发布时间】:2014-12-10 09:56:01 【问题描述】:我正在创建一个包含组合框的表单,假设它称为“Postcode_cb”。我想为该组合框中的每个项目显示一个独特的图像。更改组合框时,图像必须位于相同位置并相互替换,以便只有 1 个图像。这必须在不使用文件路径的情况下完成。
例如:
【问题讨论】:
【参考方案1】:试试这个方法:创建表 [tblImg]([id], [picture]),其中 [id] 很长,[picture] 是 OLE。 插入id=1和id=2的两条记录,将对应的图片嵌入到[picture]字段中。
然后用 rowsource [tblImg] 创建 stanalone form [frmImages] 并将 'bound object frame' 与控制源 [picture] 放在一起。
将 [frmImages] 作为子表单放在主表单中。
将 LinkMasterFields 设置为 [Postcode_cb],将 LinkChildFields 设置为 [id]。
【讨论】:
【参考方案2】:我在给出酒店星级的数据库中有类似的内容。当您浏览酒店时,它会根据评级显示实际星级。我这样做的方式是将所有图像放在一个位置(将它们放在彼此的顶部)给每个图像一个名称。并将它们全部设置为可见 = 否。
示例 Img1、Img2 等,直到所有图像都有名称。
然后打开 Visual basic 并创建一个名为 Private Sub Form_Current() 的子程序(如果您还没有的话)。然后在此子下使用以下代码
Forms![FormName]![ComboBoxName].SetFocus
Select Case Forms![FormName]![ComboBoxName].Text
Case Is = ""
Forms![FormName]!img1.Visible = False
Forms![FormName]!img2.Visible = False
Case Is = "1"
Forms![FormName]!img1.Visible = True
Case Is = "2"
Forms![FormName]!img2.Visible = True
End Select
只有当您只有 5 到 10 张图像时,这才是好的,用这种方式处理更多的图像会更加困难。
也许人们可以建议其他方法,我发现这是最容易满足我需求的方法。
【讨论】:
以上是关于在没有文件路径的 Access 中组合框更改时显示不同的图像的主要内容,如果未能解决你的问题,请参考以下文章