1. 程式人生 > >Access 如何實現級聯刪除?

Access 如何實現級聯刪除?

    資料庫中有兩個消費相關表,xfjl(主消費記錄)和xfxxjl(消費詳細記錄),兩個表是主從關係,但我在資料庫中沒有建立表與表之間的關係,一般都是在程式碼中直接寫SQL語句,如:delete from xfjl where 條件 這樣。原來做的清除資料沒有條件限制,直接刪除表中所有記錄,後來加了一個時間段,只刪除某一個時間段的資料,但xfxxjl表中沒有消費時間,都在xfjl中記錄著呢,xfxxjl表中符合條件的記錄怎麼刪除?

   用語句試試:delete from xfxxjl inner join xfjl on xfxxjl.xfxxjl_zd=xfjl.xfjl_zd where xfjl.xfjl_xfsj >:dt1 and xfjl.xfjl_xfsj < dt2; 語法錯誤!

   delete xfxxjl from xfxxjl inner join xfjl on xfxxjl.xfxxjl_zd=xfjl.xfjl_zd where xfjl.xfjl_xfsj >:dt1 and xfjl.xfjl_xfsj < dt2; 語法錯誤!

   在google中搜了半天,看到的大都是SQL server用觸發器做的。繼續搜,終於找到一個:使用參照完整性!

   不用在程式碼中寫東西,只要把兩個表的關係建立上就可以了,原貼內容如下:

  以Access   2003為例:你在工具選單的關係中建立表之間的關係,在編輯關係對話方塊的下方就有一個實施參照完整性,你勾中它,在下面有"級聯更新相關欄位","級聯刪除相關記錄",勾中它不就成了嗎!照你上面的表,你就建立主表IDName=從表IDName,然後編輯它們的關係就行了!OK?