Applies To:
  • CitectSCADA 1.xx, 2.xx, 3.xx, 4.xx, 5.xx


When you run the Graphics Builder, you may get the following error:

    First DBF Record
    Form: <FormName>    !i.e. Form: Variable Tags (as shown in CITECT.FRM file)
    Project: <MyProject>
    Database field size mismatch

    You may have used a third party database editor,
    such as Excel, to change the size of database fields.

    Please change the size of fields back to the original.

This error means that there is a conflict between the offending database's column widths and the field widths outlined in the Citect form specification file (CITECT.FRM), which is a blueprint that all database files must conform to, and resides in your Citect\Bin directory.  


This error is most commonly caused by taking a project built in a newer version of Citect and restoring it into an older version. Citect is backward compatible only, which means that you can only upgrade projects. Once you upgrade the project, you cannot restore it back to the older (original) version of Citect.

Another cause of this error is changing the size of the database fields. It is not recommended that you modify the CITECT.FRM file (i.e. by changing the specified field size for a particular database file). The reason is that you will have to maintain your modifications through any upgrades or re-installations of Citect, as the CITECT.FRM file (as well as other files) become overwritten or re-created. What should be done is once you have opened the CITECT.FRM file (using Visual Basic or Notepad), locate the name of the form (i.e. "Variable Tags"), compare those field sizes with each of the actual fields' column widths in the offending database (i.e. VARIABLE.DBF) and change it/them to comply with the CITECT.FRM file. Then save the database file. Below is an example of what you would see in the CITECT.FRM file with regard to the "Variable Tags" form. Notice that the "Name" field is set to 16 characters by default:

    FORM "Variable Tags", "variable", WRITEINDEXED, KEY "NAME";
    1: "NAME", 16, readwrite;