2012-09-13 94 views
0

我有一個綁定到查詢的掩碼。ms-access:使用vba刪除當前行

該掩碼在訪問表中顯示記錄(一次記錄一條記錄),例如A表。

當用戶點擊一個按鈕時,該記錄被複制到另一個表(如B)中,並且它必須從原始表(A)中刪除。此外,面具必須傳遞給下一個或上一個記錄(如果有的話)。

表B不能有關鍵字段。

我怎麼能通過vba實現這一目標?

回答

0

讓你的按鈕複製,然後刪除按鈕上的表單上顯示的記錄。

Sub btnCopy() 
    Dim strSQL as string 
    strSQL = "INSERT INTO TableB SELECT fld1, fld2 FROM TableA WHERE fld1 = '" & txtFld1 & "'" 
    CurrentDb.Execute strSQL 
    strSQL = "DELETE FROM TableA WHERE fld1 = '" & txtFld1 & "'" 
    CurrentDb.Execute strSQL 
End Sub 
+0

我不能使用where部分。表A和B不同。記錄會以某種方式轉換並複製到B表中,然後我必須從A表中刪除原始記錄,但此記錄不是通過鍵標識的。的確,A表包含從Excel文件導入的數據(並且Excel文件沒有「唯一」字段)。 – Sefran2

+0

@Cricket - 當您從Excel導入數據時,您應該使用自動編號在表B中擁有一個主鍵列。它不必在Excel文件中。 – JeffO

+0

@Cricket你不必使用查詢,你可以從表單記錄集中刪除,如果通過「掩碼」你的意思形式。當您使用表單刪除當前記錄時,您不需要密鑰,但是,擁有密鑰總是一個好主意。 – Fionnuala