Microsoft KB Archive/171579

= "Unable to Write to Database" Error with Template Wizard =

Article ID: 171579

Article Last Modified on 8/17/2005

-

APPLIES TO


 * Microsoft Excel 97 Standard Edition
 * Microsoft Excel 95 Standard Edition

-



This article was previously published under Q171579



SYMPTOMS
If you use a template created by the Template Wizard to create a new record in a database, you may receive the following error message:

Unable to write to database. Make sure database is not protected and has valid field data-types.



CAUSE
This problem may occur if all of the following conditions are true:
 * You are using a Microsoft Access database.

-and-
 * The table in which you save the records has a primary field.

-and-
 * The data type for the primary field is set to Number instead of the AutoNumber default type.

NOTE: The data type for the primary field is set to number if you created the database in Microsoft Access.

-and-
 * In the Template Wizard, you do not link the primary field to any cells on the worksheet.

When you use a template created by the Template Wizard to create new records in the table, any fields of the Number type that are not explicitly linked to worksheet cells receive a value of zero each time you save a new record. Therefore, if the primary key is set to the Number data type and you try to save the second record to the table, you receive the error message described in this article. This behavior occurs because the primary key cannot have the same value (in this case zero) in multiple records in the same table.

This behavior is by design of the Template Wizard in Microsoft Excel.



RESOLUTION
To resolve this problem, change the data type of the primary field to AutoNumber. After you do this, Microsoft Access generates a unique number for this field for each record in the table.



MORE INFORMATION
The Template Wizard with Data Tracking add-in creates a template that links selected cells in a workbook to fields in a database. When you base a new workbook on the template and enter data in the linked cells, Microsoft Excel creates a new record in the database and copies the data to the corresponding data fields.

