在SAVE
按鈕的代碼中,我想保存記錄,並在與我保存記錄的表不同的表中標記一個複選框。它基本上就像一張清單表,表明已經完成了一些事情。我知道-1代表一個對勾,所以我曾嘗試:使用VBA設置表格中的複選框不是表格
Me.tblProjectCompletion.Done = -1
,我已經嘗試過了沒有Me
。
我也試着把它放到一個表格中,先將它保存到表格中,但是這導致了其他問題。如果我可以節省我想對專案編號這將是最好的表的複選標記,所以我也嘗試:
if ProjectCompletion.ProjectCompID = Project.ProjectID then tblProjectCompletion.Done = -1
但是這樣的代碼不工作或者。有什麼建議麼?
Currentdb.Execute
Update ProjectCompletion
Set [ProjectCompletion].[Done] = -1
WHERE [ProjectCompletion].[ProjectCompID] = [Project].[ProjectID]
我試過這段代碼,有和沒有括號和引號,並在末尾有一個分號。有了這種模式,它停止執行,並說argument not optional
。以下代碼有效。我只需要添加複選框的檢查。
Private Sub Save_Record_Click()
DoCmd.RunCommand acCmdSaveRecord
If Me.Dirty Then
Me.Dirty = False
End If
End Sub
你需要使用一個更新語句如:CurrentDb.Execute「UPDATE表名SET字段名= -1 WHERE <記錄更新條件>「 – Sorceri
雖然可以使用連接兩個表的查詢並使用DISTINCT關鍵字將表單綁定到兩個表,但您最好使用@ Sorceri的建議來直接更新根據您的標準,直接在SQL的另一個表中使用SQL。 – Blackhawk
自從我使用Oracle之後,我非常喜歡這種方法,但是我收到了一個編譯錯誤,聲明期望結束語句。我試着用UPDATE和前面的引號。你給我的東西有沒有語法錯誤?我真的想讓它工作! – 985ranch