|
訂正版です。
ちょっとコード的には汚いですが…。
Sub テーブルの作成2()
'要参照設定 Microsoft DAO x.x Object Library
Dim MakeTBL As New DAO.TableDef
Dim Idx As DAO.INDEX
Dim TName As String
TName = "T_Branch"
If DCount("*", "MSysObjects", "Name = '" & TName & "'") > 0 Then _
DoCmd.DeleteObject acTable, TName
Set MakeTBL = CurrentDb.CreateTableDef(TName)
With MakeTBL
.Fields.Append .CreateField("Company", dbText)
.Fields.Append .CreateField("Branch", dbText)
.Fields.Append .CreateField("Post", dbText)
.Fields.Append .CreateField("Address", dbText)
End With
Set Idx = MakeTBL.CreateIndex("Ind1")
With Idx
.Fields.Append .CreateField("Company")
.Fields.Append .CreateField("Branch")
.Primary = True
End With
MakeTBL.Indexes.Append Idx
Set Idx = MakeTBL.CreateIndex("Ind2")
Idx.Fields.Append Idx.CreateField("Company")
MakeTBL.Indexes.Append Idx
Set Idx = MakeTBL.CreateIndex("Ind3")
Idx.Fields.Append Idx.CreateField("Branch")
MakeTBL.Indexes.Append Idx
MakeTBL.Indexes.Refresh
CurrentDb.TableDefs.Append MakeTBL
CurrentDb.TableDefs.Refresh
Set MakeTBL = Nothing
Set Idx = Nothing
End Sub
これで2つのフィールドを主キーに、
重複ありのインデックスが設定されると思います。
|
|