2012-03-21 39 views
1

我必須創建一個訪問Web數據庫,並在將記錄插入表時遇到令人沮喪的問題。訪問,插入後和丟失的ID

我試圖使用插入宏後設置的問題數場,正是如此:

Edit Record 
SetField 
Name: [Problem Number] 
Value =: [ID] (There is no more logic here but even this simplest case fails) 

的問題是,這樣的問題數結束了空白ID不具有價值。

此邏輯適用於之後更新這是有道理的,因爲它有一個ID在那一點。

無論如何,我沒有切換到VB代碼實現這一點。

回答

1

有幾件事。您不希望使用after update事件修改當前記錄,因爲它理論上會導致before update事件和after update事件再次觸發。這種潛力會形成一個循環。

如果你想到這點,你只需將記錄保存在桌子上然後再次編輯記錄就沒什麼意思了!事實上,您可以通過設計發現,上下文中的當前記錄僅在更新事件之後才被讀取。因此,您不能在after update事件的上下文中執行當前記錄上的編輯記錄,並且如果您檢查錯誤日誌,則會出現「只讀」錯誤。

在before change事件中,[id]不可用。但是,您可以在after update事件中選擇並使用[id]。

但是,如果你要創建另一個表中的新記錄,然後創建記錄塊外的下一行,讓你拿起剛剛創建的記錄與

[LastCreateRecordIdentity] 

所以記錄寫發生在創建記錄塊外部的下一行。

例如這裏有一些代碼創建一個新的記錄和注意非常小心代碼的「縮進」。

enter image description here

如果你在上面單擊創建記錄命令,那麼整個創建的代碼將突出塊的事實。注意NEXT代碼行是藍色代碼塊的外部,這是我們可以使用[LastCreateRecordIdentity]的代碼。

藍色的高亮顯示的代碼是這樣的:

enter image description here

所以下一行權之外創造紀錄的是,當你可以拿起新的ID。在上面我實際上是通過returnVars將剛剛創建的新的「返回」給調用例程。

+0

優秀的報道! – 2012-03-22 01:01:19

+0

非常好。我對此感到有點沮喪,所以我暫時轉到了項目的另一部分。當我週一回來時,我會再看看這個。 – 2012-03-31 08:13:59