sql - 使用用户输入的日期从表单更新表格

标签 sql ms-access

我有一个文本框,其默认值为今天的日期,用户也可以根据需要进行更改。该日期是收到元素的日期,我需要用该日期更新采购订单表。我有一个按钮可以使用 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 函数,但没有成功。 enter image description here

最佳答案

您必须将日期格式设置为日期。我会删除输入掩码,它们很痛苦,并将您的代码更改为

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/

相关文章:

ms-access - 是否有任何编程原因不在 MS Access 2013 中的对象名称中使用空格?

c++ - Access .ldb 文件和多重连接。

java - 将 MS Access 迁移到 PostgreSQL

javascript - 在 Wordpress 站点上显示来自 MSAccess DB 的自定义数据的最佳方式是什么?

mysql - 需要微调的查询

php - 请将 SQL 查询与 PHP 帮助合并

sql - 从 Oracle 中的日期获取月份名称

sql - SqlConnection 是否并行处理查询?

sql - 标量函数的单个参数中的多个值

ms-access - VBA 使用变量表名称设置 Recordet