I was wondering if it was possible in MapInfo to set valid values for a field, e.g a field called material and only valid values being BIT, CON or STO? I have a basic knowledge of MapBasic.
MapInfo doesn't support field validation in the native TAB file. There are no built-in tools like Domains in ArcGIS. However, if you store your data in a database, you may be able to enforce some data validation.
MapInfo does support a different type of TAB file which stores the data in an Access Database. When you save a copy of your TAB file, you'll be presented with different file types to save it as. One of them is a "Microsoft Access Database (TAB)". I only learned of this functionality last week, but I think this the way to go. I quickly saved a copy of a file as an Access Database TAB file and opened it in MS Access. I added a data validation rule to a field and saved the database. Then, in MapInfo, I tried to edit the field with an invalid value. I could make the edits, but I could not save the file. This is the error I got when I tried to save the TAB file:
Here's a link on how to limit data to certain values in Access.
Alan, You could create a MapBasic application that has this functionality, but if just a single user enters data without this application, the values might no longer match your valid data.
MapInfo Pro is very basic when it comes to constraints. Another solution would be to use a (spatial) database to store you data. Here you can add constraints and so make sure only valid data i stored in the columns