lam*_*cro 4 ms-access vba access-vba table-relationships
我有几个具有确切表结构的mdb文件.我必须将主表的主键从autonumber更改为所有这些中的数字,这意味着我必须:
有没有办法从一个文件导出关系并将它们导入到所有其他文件?
我确信这可以通过一些宏/ vb代码来完成.有没有人有我可以使用的例子?
谢谢.
Pat*_*uff 12
不是一个完整的解决方案,但这可能会让你...
以下函数将打印出所有关系的元数据.将其更改为以您喜欢的任何格式保存到文件(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
Run Code Online (Sandbox Code Playgroud)
此函数将删除数据库中的所有关系:
Function DropRelationships()
With CurrentDb
For Each rel In .Relations
.Relations.Delete Name:=rel.Name
Next
End With
End Function
Run Code Online (Sandbox Code Playgroud)
此功能将创建一种关系.您将不得不迭代保存的关系数据的文件.
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
Run Code Online (Sandbox Code Playgroud)
由于时间限制,错误处理和IO省略(让孩子们上床睡觉).
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
13249 次 |
| 最近记录: |