我有一个文本框,其默认值为今天的日期,用户也可以根据需要进行更改。该日期是收到元素的日期,我需要用该日期更新采购订单表。我有一个按钮可以使用 db.Execute 提交这些更改,代码如下:
Dim db As Database
Dim w As String
Set db = CurrentDb
w = "UPDATE PO SET [Received] = " & Text20.Value & " WHERE [PONumber] = " & Text14.Value & " AND [LineItem] = " & Text18.Value & ";"
db.Execute w
db.Close
Text20 是具有默认日期的文本框。它有一个简短日期的输入掩码。我的问题是,当我单击该按钮时,它会更新表中的 [Received] 字段,但不是按照我想要的方式更新。它没有输入日期,而是输入了诸如 12:00:50 AM 之类的时间。我对更新语句进行了 MsgBoxed,它对我来说看起来很好,那么是什么导致了这个问题呢?我也尝试过使用 CDate 函数,但没有成功。
最佳答案
您必须将日期格式设置为日期。我会删除输入掩码,它们很痛苦,并将您的代码更改为
w = "UPDATE PO SET [Received] = #" & Format(Me.Text20,"yyyy/mm/dd") & "# WHERE [PONumber] = " & Me.Text14 & " AND [LineItem] = " & Me.Text18 & ";"
关于sql - 使用用户输入的日期从表单更新表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50744317/