我有一个主表和多个其他表,我想将每个表链接到主表的一行。
主表“Data”由列 (Name, x, y) 组成,其中“Name”是主键,所有值都是唯一的。
其他每个表都有列 (Name2, z),其中“Name2”的值在每一行中都是相同的,并且也对应于表名。
我想让每个表成为“数据”的子数据表,其中“数据”中的每一行显示表中与其名称对应的值。(即其中名称 = 名称 2)
以下是我到目前为止的内容,但代码不起作用,因为需要从子表单运行 linkchildfields 和 linkmasterfields。(?)一旦代码到达 linkchildfields 行,我得到的错误是“找不到属性”。
我将是数据库的唯一用户。简而言之,我正在寻找一种方法来自动化将一个表设置为另一个表的子数据表的过程。我可以直接从访问表手动执行此操作,但我想在创建新表并需要将其设置为主表的子数据表时自动执行此操作。
谢谢。
Sub STS()
Dim i As TableDef
Dim db As Database
Dim tbl As TableDef
Set db = CurrentDb()
Set tbl = db.TableDefs("Data")
For Each i In db.TableDefs
If Left$(i.Name, 4) <> "MSys" Or i.Name <> "Data" Then
tbl.Properties("SubdatasheetName") = i.Name
tbl.Properties("LinkChildFields") = "Name2"
tbl.Properties("LinkMasterFields") = "Name"
End If
Next
End Sub