【问题标题】:VBA / Access - Continuous form imageVBA / Access - 连续形式图像
【发布时间】:2014-10-01 12:21:52
【问题描述】:

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

为了显示每一行的图片,我使用了 FormLoad 事件

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

图片已显示,但每一行都是相同的,因为“Miniature”是每张图片的名称

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

我正在寻找一种方法来完成我想要的?我需要使用什么?

【问题讨论】:

    标签: vba ms-access-2010


    【解决方案1】:

    由于我找不到单独设置每张图片的方法,我为我的表单添加了一个带有图片绝对路径的新字段,并使用了控制源属性。

    无论如何,感谢您的帮助

    【讨论】:

      【解决方案2】:

      更新:使用事件将不起作用(请注意,对图片的任何代码更改都会导致控件的所有实例都被更新)所以我删除了我之前的答案。

      解决这个问题的方法是将表格的数据源更改为类似的东西

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

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

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

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

      【讨论】:

      • 这是一个连续的表格,所以它不起作用..已经尝试过,使用箭头时图像会改变,但实际表格上的任何地方仍然相同..:/
      • 试试看!也许比如我!miniature.picture
      • 不会改变任何东西..我正在考虑添加一个字段并使用图片的控件源属性..但我尝试这样做会更好
      • 找到了一种方法让它工作并相应地更新了我的答案,因为你是对的,当前事件不起作用
      猜你喜欢
      • 2012-07-13
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多