1. access 修改查詢中的記錄 設置
【查詢可以被更新是有條件的。】
何時可以從查詢更新數據 (MDB)
在某些情況下,可以在查詢「數據表」視圖中編輯數據以更改基礎表中的數據。而在另一些情況下則不行。下面的信息表明了各種查詢的結果是否能更新。
【數據可更新,下列情況下可以更新查詢或查詢欄位:】
1、基於一個表的查詢
2、基於具有一對一關系的表的查詢
3、查詢的結果中包含「備注」、「超鏈接」或「OLE 對象」 ,數據在一定條件下可更新
4、如果查詢基於含有一對多關系的表,則不能編輯下列查詢欄位的數據。
解決方案 是:
位於「一」方的聯接欄位 → 啟動兩表之間的級聯更新。
新記錄,如果位於「多」方的聯接欄位不出現在數據表中 → 從「多」方將聯接欄位添加到查詢中,以允許添加新記錄。
在「一」方更新數據後,來自「多」方的聯接欄位 先保存記錄;然後可以對「多」方的聯接欄位進行更改。
在存在外部聯接的一對多關系的「一」方表中的空白欄位 → 在位於「多」方的表的欄位中輸入值,但必要條件是位於「一」方的聯接欄位中包含該記錄的值。
新記錄,如果 ODBC 表的整個唯一鍵沒有輸出 選取 ODBC 表的所有主鍵欄位,以允許向其中插入數據。
【數據可以刪除但不能更新】
解決方案 :
不具有「更新數據」許可權的查詢(或基礎表) 若要修改數據,必須指定相應的許可權。
不具有「刪除數據」許可權的查詢(或基礎表) 若要刪除數據,必須指定相應的許可權。
【數據不能更新】
1、基於具有多對一對多關系的三個或更多表的查詢。……不能更新
當窗體的「記錄集類型」屬性設置為「動態集(不一致的更新)」時,雖然不能直接更新查詢中的數據,但可以更新基於該查詢的窗體或數據訪問頁中的數據。
2、交叉表查詢 ……不能更新
3、SQL 傳遞查詢 ……不能更新
4、對欄位求和、平均值、計數值或其他類型總和值的查詢,或者從包含總和或合計函數的交叉表查詢、選擇查詢或子查詢的「更新到」行中引用欄位的更新查詢
→ 通過在更新查詢的「更新到」行中使用域聚合函數,可以引用包含總計或聚合函數的交叉表查詢、選擇查詢或子查詢中的欄位。
5、聯合查詢 ……不能更新
6、「唯一值」屬性設置為「是」的查詢 ……不能更新
7、包含無唯一索引的 ODBC 鏈接表或無主鍵的 Paradox 表的查詢 ……不能更新
8、包含多個表或查詢,並且這些表或查詢在「設計」視圖中沒有使用聯接線相聯接的查詢 ……不能更新
→若要更新表,必須正確地聯接它們。
9、計算欄位……不能更新
10、欄位為只讀;資料庫是以只讀方式打開或位於只讀驅動器上 ……不能更新
11、記錄中的欄位已經刪除或被其他用戶鎖定 ……不能更新
→鎖定的記錄在解鎖後即可更新。