访问自定义组

Car*_*s N 2 ms-access vba

我已将 Access 2007 数据库配置为在导航窗格中使用“自定义”组。我以一种有意义的方式对所有表格进行了分组。但是,每当我更新链接表时,它就会丢失其分组。

我一直无法找到避免这种情况的方法。由于这似乎是不可避免的,我只想有一个宏,以编程方式将表添加回正确的组。我还没有找到任何关于如何执行此操作的示例。有什么建议么?

小智 6

老线程,我知道,但我只需要处理这个问题,并且认为我应该分享我的解决方案:一个将对象移动到组的函数。

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
Run Code Online (Sandbox Code Playgroud)

享受。