That's how to do it using DAO.Index objects. Here's how to do the same in SQL (which can be easily converted to ADO).
Set dbs = CurrentDb
dbs.Execute _
"create table Query_Name (" _
& "Query_Name Text (50)," _
& "Query_Number Integer," _
& "Constraint Query_NameIndex Primary Key (Query_Name)" _
& ");"
dbs.Execute _
& "create table Query_Table ("" _
& "Query_Name Text (50)," _
& "Table_Name Text (30), " _
& "Constraint Query_TableIndex Primary Key (Query_Name,Table_Name) " _
& ");"
dbs.Close
Set dbs = Nothing
Main Topics
Browse All Topics





by: ikhnaton2Posted on 2004-12-01 at 17:29:17ID: 12722349
Dear lin100,
////////// ////////// /////// _Click
Name") e", DAO.dbText, 50)
ber", DAO.dbInteger, 3) eIndex") 'new by ikhnaton2 e") 'new by ikhnaton2
Table") e", DAO.dbText, 50) e", DAO.dbText, 30) leIndex") 'new by ikhnaton2 e") 'new by ikhnaton2 e") 'new by ikhnaton2
e_Click:
_Click: e_Click
To create a primary key, you should first create an index object. Then append as many fields to the this object the same way you added to the table object. Then you toggle the Primary property of the index true. See below the code that will do both of your inqueries. New lines are commented by 'new by ikhnaton2 at the end of the line. Welcome for your inqueries.
Cheers!
//////////////////////////
Sub Create_Table_Structure()
On Error GoTo Err_Create_Table_Structure
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim idx As Index 'new by ikhnaton2
DoCmd.DeleteObject acTable, "Query_Name"
DoCmd.DeleteObject acTable, "Query_Table"
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef("Query_
Set fld = tdf.CreateField("Query_Nam
tdf.Fields.Append fld
Set fld = tdf.CreateField("Query_Num
tdf.Fields.Append fld
Set fld = Nothing
dbs.TableDefs.Append tdf
Set idx = tdf.CreateIndex("Query_Nam
idx.Fields.Append idx.CreateField("Query_Nam
idx.Primary = True 'new by ikhnaton2
tdf.Indexes.Append idx 'new by ikhnaton2
Set tdf = Nothing
Set tdf = dbs.CreateTableDef("Query_
Set fld = tdf.CreateField("Query_Nam
tdf.Fields.Append fld
Set fld = tdf.CreateField("Table_Nam
tdf.Fields.Append fld
Set fld = Nothing
dbs.TableDefs.Append tdf
Set idx = tdf.CreateIndex("Query_Tab
idx.Fields.Append idx.CreateField("Query_Nam
idx.Fields.Append idx.CreateField("Table_Nam
idx.Primary = True 'new
tdf.Indexes.Append idx 'new
Set tdf = Nothing
Set dbs = Nothing
'dbs.Close
Exit_Create_Table_Structur
Exit Sub
Err_Create_Table_Structure
MsgBox Err.Description & Err.Number
Resume Exit_Create_Table_Structur
End Sub