Microsoft Access数据库修改应用图标失效问题求助
Access主窗口自定义图标失效的解决方法
基础排查步骤
- 确认图标文件状态:直接打开
Application.CurrentProject.Path & "\myicon.ico"对应的路径,检查myicon.ico是否存在、是否损坏。可以替换为另一张正常的ICO文件测试,排除文件本身问题。 - 检查文件权限:如果数据库存放在网络共享文件夹、系统保护目录(如C:\Program Files),确认Access有读取该ICO文件的权限,权限不足会导致主窗口无法加载图标。
修正VBA代码逻辑
两段原有代码的问题在于属性设置后的刷新机制不完整,试试以下更严谨的代码,同时增加重启验证:
Dim appIconProp As Property On Error Resume Next Set appIconProp = CurrentDb.Properties("AppIcon") On Error GoTo 0 ' 存在则更新,不存在则添加属性 If appIconProp Is Nothing Then CurrentDb.Properties.Add "AppIcon", CurrentProject.Path & "\myicon.ico" Else appIconProp.Value = CurrentProject.Path & "\myicon.ico" End If Application.RefreshTitleBar ' 关闭并重新打开数据库,强制刷新主窗口图标 Application.Quit Shell "MSACCESS.EXE """ & CurrentProject.FullName & """", vbNormalFocus
应对Access版本更新影响
如果是近期更新了Office/Access,版本变更可能导致代码触发逻辑变化:
- 手动设置一次图标:打开数据库后,点击
文件→选项→当前数据库,在应用程序选项中手动选择myicon.ico,确定后关闭数据库。 - 重新打开数据库,再运行代码测试,此时代码应该能正常覆盖图标设置。
清除图标缓存
若以上方法无效,尝试清除Access的图标缓存:
- 关闭所有Access实例,在任务管理器中确认
MSACCESS.EXE进程已完全结束。 - 打开路径
%LOCALAPPDATA%\Microsoft\Office\16.0\Access\(路径中的16.0对应Office 365/2016版本,其他版本需调整),删除IconCache.db类缓存文件后重新打开数据库。
内容的提问来源于stack exchange,提问作者WebCool
相关产品推荐
相关产品推荐

