2016-04-14 48 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