我在 Windows 7 Enterprise x64 上使用 Visio 2007 Profession SP2。我有一个相当复杂的 ER 数据库图,我已经研究了几个星期。它确实使用了一些非 ER 形状来标注和注释。它也是一个多页图表。(基本上每页一个 SQL 2005 架构。)
常用数据库插件本身(即 Visio Professional 附带的插件)似乎正在运行:我有数据库菜单,我看到了表和视图窗口等。但是,双击实体或尝试访问数据库属性窗口失败:它似乎什么也没做。没有沙漏,没有显示,没有消息,什么都没有。它不仅在我的复杂文档中出现这种情况,而且在全新的空白数据库文档中也出现这种情况。
至于到底什么地方失败了:
- 双击图表上的实体
- 双击“表和视图”面板中的表
- 右键单击实体并选择“数据库属性”
数据库插件的其他方面似乎可以工作:
- 逆向工程向导启动
- 从图中删除关系,然后右键单击实体并选择“显示相关表”将其恢复
- 将关系显示改为“鱼尾纹”(或改回“鱼尾纹”)。
周二它还能用,那是我最后一次处理这个文件。据我所知,自那时以来什么都没有改变,但是,除了周三大概一个小时以外,我没有使用这台电脑——而且是通过终端服务远程使用的。当时,我关闭了 Visio 以减少打开的应用程序的混乱(我很少关闭这台机器,通常会连续几天打开我的工作)。据我所知,Windows 更新在周二下午 5 点到今天早上 9 点之间运行,但我无法告诉你是否是这种情况。(这是一台工作机器,在域中;我必须与我的管理员核实,看看我们是否使用 WSUS 来推送这些更新,或者我们是否只是依赖 Microsoft 的时间表。)
这台机器可能在周二晚上到今天早上之间被非自愿地重启过,也可能没有。不过,我后来手动重启过它,没有任何变化。我还尝试过在安全模式下启动 Visio,同样没有任何变化(无论是在安全模式下还是之后)。应用程序事件日志中似乎没有任何信息,Office 特定的事件日志中也没有任何信息。
其他需要插件的模板(例如 UML 模板)似乎工作正常,显示其自定义属性窗口。只有这一个。
长话短说:(我知道,太晚了):
- 为什么数据库属性窗口不再出现?
- 我该怎么做才能把它找回来?(我确实需要更新其中一些实体的文档!)
答案1
看来 Visio 在从多显示器设置切换到终端服务的压缩显示时工作不顺畅。数据库属性窗口不知何故移出了屏幕。奇怪的是,现在我正坐在桌面上,享受着 3 显示器带来的乐趣,这种情况发生了。
运行 VBA 发现这里帮我找回来了。如果该链接失效,这里是脚本。将其粘贴到ThisDocument
VBA 编辑器的部分中:
Sub GetDbWindow()
Dim win As Visio.Window
For Each win In Visio.ActiveWindow.Windows
If win.Caption = "Database Properties" Then
Call win.SetWindowRect(0, 0, 200, 200)
Exit For
End If
Next win
End Sub
答案2
使用多显示器设置时,解决此问题的另一个方法是将显示器输出改回单 (1) 显示器,然后我就可以看到数据库属性窗口停靠在显示器的最右下角。然后我可以抓住数据属性窗口并将其固定回 Visio 应用程序的左下角。