VBA / Access - 连续表单图像

时间:2014-09-30 15:27:51

标签: vba ms-access-2010

我是Access和VBA的新手,我有一个连续的表单,ID字段和同一行上名为'Miniature'的空图片。

要显示每行的图片,我正在使用FormLoad事件

Private Sub Form_Load()
    Me.Miniature.Picture = GetDBPath & "miniatures\" & Format(Me.ID, "000") & ".gif"
End Sub

显示图片,但每行都相同,因为'Miniature'是每张图片的名称

我也试过RecordSet,但图片不是字段,所以我不知道如何访问它。

我正在寻找一种方法来实现我想要的目标?我需要使用什么?

2 个答案:

答案 0 :(得分:1)

由于我无法找到单独设置每张图片的方法,因此我为表单添加了一个新字段,其中包含图片的绝对路径,并使用了Control Source属性。

无论如何,谢谢你试图帮助

答案 1 :(得分:0)

更新:使用某个事件将无效(请注意,图片的所有代码更改都会导致控件的所有实例都更新)所以我删除了之前的答案。

解决此问题的方法是将表的数据源更改为此类

SELECT CurrentProject.Path & "\" & "miniatures\" & Format(ID,"000") & ".gif" AS ImagePath, * FROM TableName; 

然后将图像绑定到ImagePath列。这将导致显示图像,而无需向表中添加实际列。

请记住,对大型表执行此操作将不会有效,因为它会导致每行都出现已计算的表达式

CurrentProject.Path & "\" & "miniatures\" & Format(ID,"000") & ".gif"