How to specify a DefaultExpression for a TField object (Views: 100)


How to specify a DefaultExpression for a TField object


If you set up a field attribute set and associate that set with a field in your table that will work. If you set the value in the object inspector it will let you enter in a string but it will not reflect the value at runtime. If you try to set the TField.DefaultExpression property at runtime like this:

MyField.DefaultExpression := 'MyValue'; // (Wrong)

It will compile but you will not get a default value at runtime when you create a new record in the table by, say, clicking on the + on the DBNavigator. To get the default value to take at runtime the code assignment needs to be:

MyField.DefaultExpression := '''MyValue'''; // (Correct)

In the Object Inspector you just need to put "MyValue". Use single quotes in the Object Inspector.

Note: The default value support for the BDE dataset's is implemented in BDE itself and is not currently supported in the ADOExpress components. If you want to set defaults in your application using ADO I suggest writing a OnNewRecord event.

<< Back to main page