【问题标题】:Short Date from text field into sql statement ms access从文本字段到 sql 语句 ms 访问的短日期
【发布时间】:2016-03-21 14:54:05
【问题描述】:
strSQLzm1a = "INSERT INTO dbGrafikTest (imieNazwisko, numerTelefonu, zmiana, praca, data) VALUES ('" & Me!listZM1a.Column(0) & "', '" & Me!listZM1a.Column(1) & "', 'zm1', 'automatyk', #" & Me!txtData & "#);"

此 SQL 语句返回错误:

查询表达式“#21.03.2016”中的日期语法错误。

txtData 是一个text field,其格式为Short Date。 我正在搜索谷歌以找到我在哪里犯了语法错误的答案,我真的不明白我在哪里做的。

数据库列data 也被格式化为Date/Time

【问题讨论】:

  • 您在插入语句的末尾有一个#。这是故意的吗?
  • 我没有义务将# 放在“对象”的开头和结尾来确定其日期字段吗?
  • 啊 - 刚刚发现它是 Access,所以我不知道答案,但似乎领先的 # 可能是一个问题。如果错过了会怎样?
  • 如果我删除它们,我不会收到任何错误,但没有任何内容插入到表中。

标签: sql ms-access textbox ms-access-2010 sql-insert


【解决方案1】:

db 引擎无法处理 21.03.2016 作为日期文字。

Format db 引擎可以使用的方式。

改变这个...

& Me!txtData &

到这个...

& Format(Me!txtData, "yyyy-m-d") &

或者您可以使用参数查询,然后提供所需的日期/时间值,而不用担心格式问题。

【讨论】:

  • 谢谢,有新东西要学。这解决了我的问题。我假设如果我将所有内容格式化为日期,那么 SQL 语句中将不需要任何格式化。
猜你喜欢
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多