我有一个旧的Access数据库与过多的查找表。据说这是一堆其他一些部门访问应用程序链接到一个仓库。我们想杀死它。但是,id有一种方法来查明是否有任何应用程序目前与其链接?有没有办法判断另一个Access数据库是否与我的链接?
回答
将其移动到另一个目录。链接表具有硬编码路径。
数据库未使用时不可使用。当它在使用中时,你应该看到一个LDB/LACCDB文件。您可以用记事本打开它以查看工作站名称。
如果您使用Access安全性,您还将看到Access用户标识。否则,您将看到“Admin”
使用记事本打开.ldb/.laccdb文件将向您显示当前在数据库中的人员以及数据库中的一些工作站。当某人退出访问他们的工作站名称和访问登录ID时,管理员(除非您使用的是Access安全性)留在“插槽”或记录在ldb文件中。此插槽或记录可能会在下次有人进入MDB时被覆盖,具体取决于ldb文件中之前可用的插槽或记录。
Determining the workstation which caused the Microsoft Access MDB corruption
您需要的完整路径和所有Access应用程序的文件名;这可能是不可能的。
对于那些可以,遍历所有文件:
- 连接到每个数据库来测试链接。
- 循环遍历TestForLinkDatabase.TableDefs中的所有表格
- 检查每个表是否存在.SourceTableName和.Connect = YourLookupTableWarehouse。我认为SourceTableName是本地表的空字符串。
- 跟踪#3。如果在其他文件中找到单个实例,则可以选择停止检查其余表。
同样,它并不是万无一失的,但是对于掌握浮动在您公司周围的所有Access应用程序将是一个很好的练习。
*代码不会排除系统表。
Private Sub CheckToSeeIfLinked()
Dim Dbs As DAO.Database
Dim Tdf As DAO.TableDef
Dim Tdfs As TableDefs
Dim wrk As DAO.Workspace
Set wrk = DBEngine.Workspaces(0)
Dim TestDatabaseForLinks As String
TestDatabaseForLinks = "C:\FileNameToCheck.mdb"
Set Dbs = wrk.OpenDatabase(TestDatabaseForLinks)
Set Tdfs = Dbs.TableDefs
For Each Tdf In Tdfs
If Tdf.Connect <> "" Then
Debug.Print "Table: " & Tdf.Name & " - Is Linked To: " & Tdf.Connect
Else
Debug.Print "Table: " & Tdf.Name & " is not linked"
End If
Next
If Not (Dbs Is Nothing) Then
Dbs.Close
Set Dbs = Nothing
Set Tdfs = Nothing
End If
End Sub
好主意让海报开始,但几个意见。 1)您将需要遍历所有服务器文件夹以查找MDB/ACCDB,并且您将错过本地工作站上的一些文件夹。 2)这可能会触及MDB文件的日期,因此如果将来有人正在查看用户最后一次MDB被触摸的时间,这可能会引起误解。 3)非Access访问链接如Excel,Word,C#,VB.Net等? – 2011-03-19 03:13:17
@Tony Toews--我认为这符合企业希望自己摆脱文件而不是永远等待的典型场景(有些例程只在年底运行)。 1)检查有权访问该文件的本地工作站2)目标是杀死/消除未来的使用情况。 3)同意,但问题只是要求访问文件,我的回答没有误导。 – JeffO 2011-03-19 11:45:21
对不起,我对误导性的评论是由于MDB/ACCDB文件的日期触及当前日期和时间的可能性。因此,如果有人稍后想查看上次使用文件的时间,这会引起误解。因此,您可能需要将MDB复制到临时文件夹,然后对其进行分析。 – 2011-03-19 20:49:48
- 1. 有没有办法判断一个活动是否开始?
- 2. 有没有办法判断表是否在另一个数据库/服务器中被引用?
- 3. 有没有办法判断所有验证器是否满足?
- 4. 有没有办法判断x-sendfile是否已经启动?
- 5. 有没有办法判断是否显示软键盘?
- 6. 有没有办法判断ReactElement是否呈现“null”?
- 7. 有没有办法判断Safari是否全屏? (例如document.fullscreenElement)
- 8. 有没有办法判断一个与ImageView相关的Drawable是Vectorial?
- 9. 有没有办法判断有线耳机是否连接到手机
- 10. Rails3 - 有没有办法判断哈希链接(内部链接)是否已被使用?
- 11. 有没有办法判断sdcard是否已安装或根本没有安装?
- 12. 有没有办法链接querySelectorAll与getElementsByTagName?
- 13. 有没有办法判断一个枚举是否只有一个,多个或不设置标志?
- 14. 有没有办法判断两个COM接口引用是否指向同一个实例?
- 15. 有没有办法判断它已经与find_or_create_by
- 16. 有没有办法判断电子邮件是否有OneDrive附件?
- 17. 有没有办法判断宏展开是否会看到词法上下文?
- 18. 有没有简单的方法来判断一个类/结构是否没有数据成员?
- 19. 有没有办法通过编程来判断系统是否启用触摸?
- 20. 有没有办法判断Android MediaPlayer目前是否正在播放歌曲?
- 21. Objective-C有没有办法判断对象是否设置为autorelease?
- 22. 有没有办法确定neo4j数据库是否已关闭?
- 23. 有没有办法判断一个unicode字符是一个控件,alpha,数字还是符号?
- 24. 有没有更好的方法来判断一个ruby散列是否在另一个散列?
- 25. 有没有办法将mysql数据库中的所有数据复制到另一个数据库中? (phpmyadmin)
- 26. 我正在使用Whisper swift库,有没有办法判断耳语是否可见?
- 27. 有没有办法将静态链接与STL链接?
- 28. WebAudio:有没有办法确定节点是否连接到另一个节点?
- 29. 使用JSch,有没有办法判断一个远程文件是否存在,而不是执行ls?
- 30. 有没有办法检测一个分支的变化是否与另一个分支间接合并?
另一种方法是在其原始位置删除NTFS权限。 – 2011-03-19 19:52:51