Mik*_*ike 0 ms-access image button access-vba ms-access-2013
我试图获得一个按钮,当我单击该按钮时将其从“左箭头”更改为“右箭头”,但是我不确定如何通过VBA分配图像。我试过了Me!btnCollapseUnscheduled.Picture = "Arrow Left"
,但是这样会收到错误消息。
在Access 2010或更高版本中,可以将映像存储在MSysResources系统表中。然后,选择共享您的命令按钮的图片类型属性,选择那些共享图片中的一个。
之后,很容易在命令按钮的单击事件中在共享图像之间切换。我将命令按钮命名为“ cmdArrow”,并将共享图像命名为“ Arrow Left”和“ Arrow Right” ...
Option Compare Database
Option Explicit
Private Sub cmdArrow_Click()
Dim strDirection As String
If Me!cmdArrow.Picture Like "*Left" Then
strDirection = "Right"
Else
strDirection = "Left"
End If
Me!cmdArrow.Picture = "Arrow " & strDirection
Me!txtImage.Value = Me!cmdArrow.Picture
End Sub
Private Sub Form_Load()
Me!txtImage.Value = Me!cmdArrow.Picture
End Sub
Run Code Online (Sandbox Code Playgroud)
屏幕截图:
最大的挑战是将映像加载到MSysResources中。我创建了一个一次性表单,并添加了一个命令按钮。接下来,我选择“ 嵌入式”作为按钮的“ 图片类型”属性,并从可用选项中选择“ 向左箭头”。然后,我将“ 图片类型”从“ 嵌入式”更改为“ 共享”,这在MSysResources中添加了一行,并在附件字段中添加了图像数据,在“ 名称”字段中添加了命令按钮的名称。因此,我打开了表格,将“ 名称”更改为“向左箭头”,然后关闭了表格。注意MSysResources除非您在“导航选项”中启用“显示系统对象”,否则“导航”窗格中将不会显示该图标。
我为“向右箭头”重复了这些步骤。听起来可能有些怪异,但这并不是一个很大的障碍。