???? ID: 328828 - ????? ???????: 17 ??????? 2011 - ??????: 4.0

?? ?? Access ??? ???? ?????? ??????? ?? ???? ???? ????????? ?? ?????? ?????? ???? ??????? ?? ????? ??? ???????

?????? ??????This article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Moderate: ??? ??????, ??????, ?? ?????????????? ??????? ?????? ???

?? ???? Microsoft Access ??????? (.mdb) ?? ???? Microsoft Access ????????? (.adp) ???? ???? ???

?? ????? ??

??? ?? ??????? ???? | ??? ?? ??????? ????

??????

?? ???? ????? ???? ?? ?? ????????? ?? ???? ?? ?? Access 2000 ??? ?? ?? ???? ??????? ??? ?? ??????? ??? ?????? ????? ?? ???? ????????? ?? ?? ????????? ?? ?????? ???? ???? ?? ?????? ?? ?? ????? ???? ???

?? ?? ???? ?????? ??? ?? ???? ??????? ??? ???? ?????? ???? ?? ?????? ????, ???? ????? ?????? ??????? ??? ?? ??? ?? ??????? ?? ???? ??:

Operation must use an updatable query.

-??-

This Recordset is not updateable.

???? ???????

Troubleshooting Information About Problems That May Occur When You Update Data in a Query

  • When the query is based on three or more tables and there is a many-to-one-to-many relationship, you cannot update the data directly in the query. You can update the data in a form or in a data access page. You can do this based on the query when theRecordsetTypeproperty of the form is set toDynaset(Inconsistent Updates).
  • When the query is a crosstab query, you cannot update the data in the query.
  • When the query is a Microsoft SQL pass-through query, you cannot update the data in the query.
  • When the query is calculating a sum, an average, a count, or other type of total on the values in a field, you cannot update data in the query. Also, you cannot update a query that references a field in the?? ??? ??????row from a crosstab, a query, a select query, or a subquery that contains totals or aggregate functions. To work around this problem, use theDomain Aggregate??? ??? ?????? ??? ??????row of an update query. You can reference fields from a crosstab query, a select query, or a subquery that contain totals or aggregate functions.
  • When the query is a Union query, you cannot update data in the query.
  • ??Unique Valuesproperty of the query is set to???, you cannot update data in the query. ?? ?????? ?? ?? ???? ?? ??? ??? ????Unique Valuesproperty of the query to????.
  • When the query includes a linked ODBC table with no unique index or a Paradox table without a primary key, you cannot update data in the query. To work around this problem, add a primary key or a unique index to the linked table.
  • When you do not haveUpdate Datapermissions for the query or the underlying table, you cannot update data. To resolve this problem, assign permissions to update the data.
  • When the query includes more than one table or one query, and the tables or the queries are not joined by a join line in??????view, you cannot update data in the query. To resolve this problem, you must join the tables correctly so you can update them.
  • When the field that you want to update is a calculated field, you cannot update data in the query.
  • When the field that you try to update is read-only, the database is open as read-only, or the database is located on a read-only drive, you cannot update data in the query. To avoid this problem, do not open the database as read-only. If the database is located on a drive that is read-only, remove the read-only attribute from the drive or move the database to a drive that is not read-only.
  • When the field in the record that you try to update is deleted or is locked by another user, you cannot update data in the query. A locked record can be updated as soon as the record is unlocked.
  • When the query is based on tables with a one-to-many relationship, then the types of fields that you may not be able to modify are as follows:
    • Join field from the "one" side.
    • The "many" side join field does not appear in the datasheet.
    • Join field from the "many" side after you update data on the "one" side.
    • A blank field from the table on the "one" side of a one-to-many relationship with an outer join exists.
    • The whole unique key of the ODBC table is not the output.
    You can resolve any one of these problems if you take the correct action from the following list:
    • Enable cascading updates between the two tables.
    • Add the join field from the "many" side to your query so you can add new records.
    • Save the record. You can make changes to the "many" side join field.
    • Enter values in fields from the table on the "many" side. You can do this only when the joined field from the "one" side contains a value for that record.
    • Select all primary key fields of the ODBC tables to allow inserts to them.

Troubleshooting Information About Problems That May Occur When You Update Data in a Form

  • You cannot update data in a form if the form is based on a stored procedure with more than one table.
  • You cannot update data in a form when you try to update data on a data access page, and one of the following conditions is true:
    • The data source of the page does not have a primary key, a unique constraint, or a unique index.
    • There is no primary key, no unique constraint, or no unique index in the schema of the page.
    • The page does not have a RECORD NAVIGATION control.
    To resolve these problems, take the appropriate action from the following list:
    • Add a primary key, a unique constraint, or a unique index to the data source of the page.
    • Add a primary key, a unique constraint, or a unique index to the schema of the page.

      To add one of these fields to the schema, add a primary key, a unique constraint, or a unique index field to the design of the page. This automatically adds the field to the schema of the page. If you do not want this field to appear on the page, delete it from the page. This permits the field to remain in the schema.
    • Add a RECORD NAVIGATION control to the page.
  • You cannot update data in a form if the form is based on an ActiveX Data Objects (ADO) recordset. Access forms permit you to edit data from an ADO recordset if the ADO recordset is created by using a combination of the MSDataShape and the SQL Server OLEDB providers.

??????

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
304179  (http://support.microsoft.com/kb/304179/EN-US/ ) ACC2000: Status Bar Displays "Recordset Not Updateable" Message When You Try to Update a Linked Table
227053  (http://support.microsoft.com/kb/227053/EN-US/ ) ACC2000: Forms Based on ADO Recordsets Are Read-Only
201990  (http://support.microsoft.com/kb/201990/EN-US/ ) ACC2000: Can't Add, Edit, or Delete Records on Data Access Page

???? ???? ???? ??:
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Access 2003
??????: 
kbhowto kbtshoot kbFAQ kbinfo kbdta kbprb kbmt KB328828 KbMthi
???? ?????? ???????????? ?????? ????????
??????????: ?? ???? ?? ???? ??????? ?? ????? ?? Microsoft ????-?????? ?????????? ?????? ?????? ???? ??? ??. Microsoft ???? ??? ????-???????? ?? ????-???????? ????? ?????? ?? ???? ???????? ???? ?? ???? ????? ????? ??? ?? ??? ?????? ?? ???? ???? ???? ??? ????? ??. ???????, ????-???????? ???? ????? ???? ???? ???? ???. ?????, ????????, ?????-???? ?? ??????? ?? ???????? ?? ???? ???, ???? ?? ??? ?????? ???? ???? ??? ????? ??? ?? ???? ??. Microsoft ??????? ??? ???? ?? ?????? ?? ??????????, ????????? ?? ??? ?????? ?? ???? ????? ?? ???? ???????? ?? ??? ???? ????? ?? ??? ????????? ???? ??. Microsoft ????-?????? ?????????? ?? ????? ?????? ?? ?? ??? ??.
?????????? ?? ??????? ????????? ??????? ??:328828  (http://support.microsoft.com/kb/328828/en-us/ )