我有一個小型訪問資料庫,其中包含化學品和相應的安全資料表作為附件型別。它們與化學品存在多對多關系。資料庫如下所示:
資料庫映像
我想創建一個洗掉查詢,讓用戶從包含附件的 [sdb_tabelle] 以及鏈接表 [sdb_link] 中的相關行(由 [sdb_id] 標識)中洗掉所選記錄。理想情況下,這應該發生在按鈕的 on_click 事件中。
但是,當我嘗試運行洗掉查詢時,我收到錯誤訊息
Access 無法洗掉包含多值欄位的記錄
這是附件欄位 [datei] afaik。有沒有辦法解決這個問題?我真的很想保留這個專案的附件型別欄位。我可以從鏈接表中洗掉行就好了,只是帶有附件欄位的行不起作用。從我讀過的內容來看,多值欄位在技術上就像多對多關系,所以應該有某種方法以正確的順序洗掉嵌套元素,或者不?
完整查詢的 SQL 代碼:無法洗掉多值欄位
DELETE sdb_link.stoff_id, sdb_link.sdb_id AS sdb_link_sdb_id, sdb_tabelle.sdb_id AS sdb_tabelle_sdb_id, sdb_tabelle.version, sdb_tabelle.datum_aktualisiert, sdb_tabelle.datum_upload, sdb_tabelle.datei, sdb_tabelle.datei.FileData, [sdb_tabelle].[datei].[FileFlags] AS Ausdr1, sdb_tabelle.datei.FileName, [sdb_tabelle].[datei].[FileTimeStamp] AS Ausdr2, sdb_tabelle.datei.FileType, [sdb_tabelle].[datei].[FileURL] AS Ausdr3, sdb_tabelle.sprache_id, sdb_tabelle.kommentar
FROM sdb_tabelle INNER JOIN sdb_link ON sdb_tabelle.[sdb_id] = sdb_link.[sdb_id]
WHERE (((sdb_link.sdb_id)=1) AND ((sdb_tabelle.sdb_id)=1));
僅包含附件的表的 SQL 代碼:無法洗掉多值欄位
DELETE sdb_tabelle.[sdb_id], sdb_tabelle.[version], sdb_tabelle.[datum_aktualisiert], sdb_tabelle.[datum_upload], sdb_tabelle.[datei], sdb_tabelle.[datei].[FileData], [datei].[FileFlags] AS Ausdr1, sdb_tabelle.[datei].[FileName], [datei].[FileTimeStamp] AS Ausdr2, sdb_tabelle.[datei].[FileType], [datei].[FileURL] AS Ausdr3, sdb_tabelle.[sprache_id], sdb_tabelle.[kommentar]
FROM sdb_tabelle
WHERE (((sdb_tabelle.[sdb_id])=1));
僅洗掉鏈接表中記錄的 SQL 代碼:作業正常,沒有錯誤,沒有訊息
DELETE sdb_link.[stoff_id], sdb_link.[sdb_id]
FROM sdb_link
WHERE (((sdb_link.[sdb_id])=1));
查詢是使用向導完成的,以防萬一。我計劃將標準更改為表單上包含當前記錄的 sdb_id 的欄位中的值,但到目前為止我被困在這個附件上,所以我還不能測驗它。
感謝任何幫助,非常新的訪問,所以也許這是一件簡單的事情。
uj5u.com熱心網友回復:
我找到了這個答案:鏈接
這里是另一個 Microsoft 多值欄位指南 (這不是通過查詢,但可以幫助您理解多值欄位。): 鏈接
uj5u.com熱心網友回復:
在工具/關系選單中,您可以確定在表中洗掉的記錄將導致自動洗掉其他表中的相關記錄。看看“洗掉級聯選項”是如何作業的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497031.html
