How to update the IndexDefs property of a TTable (Views: 27)
Problem/Question/Abstract: Why is it that when I create a table using the TTable component's CreateTable method it creates the fields correctly but does not create the indexes even though I do a NewTable.IndexDefs.Assign(Table1.IndexDefs)? Answer: This is the correct way to transfer the index definition to NewTable, however, the IndexDefs property of Table1 may not be up-to-date so you need to call the Update method of Table1's IndexDefs property prior to its assignment to NewTable like this example shows: with NewTable do begin Active := False; DatabaseName := 'DBDEMOS'; TableName := 'Temp'; TableType := ttParadox; FieldDefs.Assign(Table1.FieldDefs); Table1.IndexDefs.Update; { Do an update first } IndexDefs.Assign(Table1.IndexDefs); CreateTable; end; |