MS Access VBA未绑定字段日期问题

时间:2016-02-20 17:31:24

标签: vba date

我在表单中有以下未绑定字段:

txtCBDate - 格式"中日期" - 我日期的PC本地化设置:" dd / mm / yyyy"     txtCBRemarks。

在VBA中,对于cmdSAVE_Click事件,我有以下代码:

Dim myDate as Date
Dim myRemarks as String

myDate = txtCBDate.Value
myRemarks = txtCBRemarks.Value

Sql = insert into CB (CBDate, CBRemarks) values (myDate, myRemarks)

db.Execute(SQL)

将值插入表CB中。但是,插入的日期是错误的日期,即不是我在表格中输入的日期。例如,如果我输入" 20-02-2016",则保存在数据库中的日期为" 11-07-1894"。输入的其他日期也相应地保存,参考1894年。

我试过"压缩和修复数据库"以及删除文本框并重新设计表单,但无济于事。我哪里错了?

2 个答案:

答案 0 :(得分:0)

通常,您的机器的日期和时间设置有不同的格式。例如,在我的机器上,短日期是dd / MM / yyyy,长日期是dd MMMM yyyy(我似乎没有在我的设置中看到中日期格式)。

我建议尝试将文本框的格式更改为短日期,前提是您的设置中的日期格式实际上是与您的中日期格式相对的短日期格式。

答案 1 :(得分:0)

在按照Mark的建议调试变量'myDate'的值时,我发现在Insert语句中,myDate没有用单引号括起来。

Sql =插入CB(CBDate,CBRemarks)值('“& myDate&”',&“'myRemarks&'')

我只有双引号“”包含变量。将变量括在单引号后,问题得到解决。 对不起,我在前一篇文章中没有提及单/双引号。特别感谢Mark C,以及UberDoodles的建议。