当前位置:  开发笔记 > 后端 > 正文

在MS Access中导入/导出关系

如何解决《在MSAccess中导入/导出关系》经验,为你挑选了1个好方法。

我有几个具有确切表结构的mdb文件.我必须将主表的主键从autonumber更改为所有这些中的数字,这意味着我必须:

    删除主表所具有的所有关系

    更改主表

    再次创建关系,...对于所有表.

有没有办法从一个文件导出关系并将它们导入到所有其他文件?

我确信这可以通过一些宏/ vb代码来完成.有没有人有我可以使用的例子?

谢谢.



1> Patrick Cuff..:

不是一个完整的解决方案,但这可能会让你...

以下函数将打印出所有关系的元数据.将其更改为以您喜欢的任何格式保存到文件(CSV,制表符分隔,XML等):

Function PrintRelationships()
    For Each rel In CurrentDb.Relations
        With rel
            Debug.Print "Name: " & .Name
            Debug.Print "Attributes: " & .Attributes
            Debug.Print "Table: " & .Table
            Debug.Print "ForeignTable: " & .ForeignTable

            Debug.Print "Fields:"
            For Each fld In .Fields
                Debug.Print "Field: " & fld.Name
            Next
        End With
    Next
End Function

此函数将删除数据库中的所有关系:

Function DropRelationships()
    With CurrentDb
        For Each rel In .Relations
            .Relations.Delete Name:=rel.Name
        Next
    End With
End Function

此功能将创建一种关系.您将不得不迭代保存的关系数据的文件.

Function CreateRelationships()
    With CurrentDb
        Set rel = .CreateRelation(Name:="[rel.Name]", Table:="[rel.Table]", ForeignTable:="[rel.FireignTable]", Attributes:=[rel.Attributes])
        rel.Fields.Append rel.CreateField("[fld.Name for relation]")
        rel.Fields("[fld.Name for relation]").ForeignName = "[fld.Name for relation]"
        .Relations.Append rel
    End With
End Function

由于时间限制,错误处理和IO省略(让孩子们上床睡觉).

希望这可以帮助.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有