You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access连续窗体点击图片控件更换图片的问题

问题1:连续窗体图片控件点击无法切换行焦点的解决方法

在Access连续窗体中,图片控件的Click事件不会自动将焦点切换到点击的行,导致修改的始终是之前选中的行。解决方法是在事件开头手动将焦点切换到当前行的绑定控件(比如主键字段),确保后续修改的是点击行的记录:

修改后的代码如下:

Private Sub Imagen37_Click()
    ' 先切换焦点到当前行的绑定控件(替换为你表中的主键字段对应的控件名,比如ID)
    Me!ID.SetFocus
    Dim fDialog As Office.FileDialog
    Dim varFile As Variant

    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
    With fDialog
        .Title = "Seleccione un archivo de imagen" 
        .Filters.Clear
        .Filters.Add "Imagenes", "*.png; *.jpg; *.bmp"
        .Filters.Add "All Files", "*.*"

        If .Show = True Then
            For Each varFile In .SelectedItems
                Me![Imagen] = varFile
            Next
        Else
            MsgBox "Has cancelado sin elegir archivo."
        End If
    End With
End Sub

注意:如果主键控件不在窗体上显示,只需将该控件的Visible属性设为False即可,无需删除,确保它是绑定到窗体的控件。

问题2:按钮图片适配的解决方法

Access按钮的图片默认是裁剪显示,要让图片适配按钮,只需修改按钮的PictureSizeMode属性:

  • 选择fmPictureSizeModeStretch:拉伸图片填满按钮,可能会导致图片变形
  • 选择fmPictureSizeModeZoom:按图片原比例缩放,保持比例不变,多余部分裁剪

操作步骤:

  1. 打开窗体设计视图
  2. 选中目标按钮
  3. 在属性窗口找到PictureSizeMode,选择上述任一选项即可

如果需要用代码设置,可在窗体的Load事件中添加:

Private Sub Form_Load()
    ' 替换为你的按钮控件名
    Me!btnSelectImage.PictureSizeMode = fmPictureSizeModeZoom
End Sub

内容的提问来源于stack exchange,提问作者Mara del Pilar Fernndez Andrs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:03:22