Defining data so that a form can update a database

If you want to be able to use a form to update data in a database, you must include all columns that make up a table’s unique key when you define the data for the form. This is how InfoMaker identifies rows in the database.

For example, if you are using Quick Select and have not selected all columns in a unique key of a table, you see the following dialog box:

Shown is the Quick Select dialog box with a question mark inside a bubble icon and the text "All columns in table that do not allow null values must be selected for rows to be inserted. Include them in data source?" Below the message are Yes, No, and Cancel buttons.

You can have InfoMaker add the needed columns automatically by clicking . If you click No and proceed with the ones you originally selected, you will not be able to update data in the database unless you modify the data source after you generate the form.

If you are using SQL Select and do not select all the key columns, you are warned, but you cannot add the columns automatically; you can edit the data source after the basic form has been generated.

NoteAbout the master/detail form styles The master/detail one-to-many and master/detail many-to-one form styles each have two sources of data, one for the master area and one for the detail area. The data for both the master area and the detail area can be updatable.

If you want to be able to insert new rows in a form, you must include all columns that have been defined in the database as requiring values.

For example, if you are using Quick Select and have not selected all columns that allow null values, InfoMaker displays a message box:

The message box says all columns in table that do not allow null values must be selected for rows to be inserted.

If you want to be able to insert new rows in the form, you can have InfoMaker add the required rows by clicking Yes. You receive this warning only when using the Quick Select data source.

For information about controlling updates, see Chapter 19, “Controlling Updates in Forms.”