メイン テーブルと、それぞれをメイン テーブルの行にリンクする他の複数のテーブルがあります。
メイン テーブル「データ」は列 (名前、x、y) で構成され、「名前」が主キーで、すべての値が一意です。
他の各テーブルには列 (Name2, z) があり、"Name2" の値は各行で同じであり、テーブル名にも対応しています。
各テーブルを「データ」のサブデータシートにしたいと考えています。「データ」の各行は、その名前に対応するテーブルの値を示しています。(つまり、Name = Name2)
以下は私がこれまでに持っているものですが、サブフォームから 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