2016-04-14 50 views
0

我在Microsoft Access中擁有一個表單。 應該有一個名爲Renew的按鈕。 當我點擊該按鈕時,子窗體的一個字段應該是今天的日期。 我創建形式和按鈕 - >在From operations選擇Apply filter,和 - >Property Sheet - >Event - >Microsoft Visual Basic更改字段的按鈕

Private Sub cmd_renew_Click() 
Dim strSQL As String 
strSQL = "UPDATE tbl_Borrowing SET DateBorrowed = Date()" 
DoCmd.SetWarnings (False) 
DoCmd.RunSQL strSQL 
DoCmd.SetWarnings (True) 
End Sub 

它不工作,我不知道是我的邏輯正確與否。它不識別DateBorrowed。 我是在我的表單中完成的,而不是子表單。

+0

我認爲使用'currentdb.execute stSQL'是比較合適的位置,而不是使用'docmd.runSQL strSQL'。我不確定這是如何與你的子表單相關的。你需要一個where子句嗎? – LiamH

+0

您需要重新查詢子表單以反映假設它正在運行的變化,儘管您的「不工作」有點含糊。錯誤信息?缺乏理想的結果? – GavinP

+0

@LiamH,可能是我需要where子句,因爲我想只更新一條記錄的信息。就像我在頁面3中一樣,我想單擊按鈕,字段只會在第三頁中更新字段 – Alex

回答

1

使用此代碼來代替:

Private Sub cmd_renew_Click() 
    Me!SubFormControlName.Form!DateBorrowed = Date() 
end Sub 

在表單中的子窗體控件的實際名稱替換SubFormControlName。
如果你把文本框在主窗體上,刪除子窗體部分VROM代碼:

Me!DateBorrowed = Date() 
+0

謝謝!那麼請你告訴我,我只是以主要形式,而不是子表格。我該如何改變我的陳述? – Alex

+0

@Alex,我編輯了我的答案:) – marlan