我将 Access 2007 数据库配置为使用导航 Pane 中的“自定义”组。我以一种有意义的方式对所有表格进行了分组。但是,每当我更新链接表时,它都会丢失其分组。
我还没有找到避免这种情况的方法。因为这似乎是不可避免的,所以我只想有一个宏,以编程方式将表添加回正确的组。我还没有找到任何关于如何做到这一点的例子。有什么建议吗?
最佳答案
旧线程,我知道,但我只是不得不处理这个问题,并认为我会分享我的解决方案:一个将对象移动到组的函数。
Public Function SetNavPaneGroup(strObjName, strGroupName)
Dim strSql, idObj, idGrp, db
Set db = CurrentDb
idObj = DLookup("Id", "MSysNavPaneObjectIDs", "Name='" & strObjName & "'")
idGrp = DLookup("Id", "MSysNavPaneGroups", "Name='" & strGroupName & "'")
If DCount("*", "MSysNavPaneGroupToObjects", "GroupID = " & idGrp & " AND ObjectID = " & idObj) > 0 Then
strSql = "UPDATE MSysNavPaneGroupToObjects SET GroupID = " & idGrp & ", Name='" & strObjName & "' WHERE ObjectID = " & idObj
db.Execute strSql, dbFailOnError
Else
strSql = "INSERT INTO MSysNavPaneGroupToObjects ( GroupID, ObjectID, Name ) " & vbCrLf & _
"VALUES (" & idGrp & "," & idObj & ",'" & strObjName & "');"
db.Execute strSql, dbFailOnError
End If
RefreshDatabaseWindow
Set db = Nothing
End Function
享受吧。
关于vba - Access 自定义组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12863959/