I am using VB6 and ADOX 2.7.
I need to add a field (column) to a Catalog's Table's Column's collection
with a default value. Is there a way to do this? I don't see it in the
properties collection when it is instantiated nor when it has been appended
to the columns collection.
Any help would be appreciated.
CF
Some further info:
This is a row from an ADO recordset opened with adSchemaColumns saved with
adPersistXML
<z:row TABLE_NAME="ChartParms" COLUMN_NAME="RecordID"
ORDINAL_POSITION="12" COLUMN_HASDEFAULT="True" COLUMN_DEFAULT="0"
COLUMN_FLAGS="122" IS_NULLABLE="True" DATA_TYPE="3" NUMERIC_PRECISION="10"
DESCRIPTION="Record Number for parm" />
I I need to add this column to a database (Access 2003) that does not have
it. I can add it but I can not set the default value.
SSet lADOColumn = New adox.Column
lADOColumn.Name = prsTargetSchema.Fields("COLUMN_NAME")
lADOColumn.Type = prsTargetSchema.Fields("DATA_TYPE"
If Not IsNull(prsTargetSchema.Fields("NUMERIC_PRECISION")) Then
lADOColumn.NumericScale = prsTargetSchema.Field("NUMERIC_PRECISION"
End If
IIf Not IsNull(prsTargetSchema.Fields("CHARACTER_MAXIMUM_LENGTH"))Then
lADOColumn.DefinedSize = prsTargetSchema.Fields("CHARACTER_MAXIMUM_LENGTH")
End If
If prsTargetSchema.Fields("IS_NULLABLE") = True Then
lADOColumn.Attributes = 2
End If
' If Not
IsNull(prsTargetSchema.Fields("Column_hasDefault")) Then
' If
prsTargetSchema.Fields("Column_hasDefault") = True Then
' lADOColumn.Properties(

=
prsTargetSchema.Fields("Column_Default")
' End If
' End If
lADOCat.Tables(prsTargetSchema.Fields(2).Value).Columns.Append lADOColumn
At this point, the Properties count for the field is 0. The properties count
for an existing field is 15 or so. So the commented out section attempting
to set some property errors out.
I