SQLdate问题在string中

我有个问题。 我是相当新的SQL。 在VBA(Excel)方面更有经验。 所以我创build了一个带有文本框(用date)的用户窗体,我需要将它们传送到我的数据库。 所以我正在用一个陈词滥调。 它适用于所有其他值,除了当我想添加date文本框到我的string。 我收到一个语法错误。 希望有人能帮忙。

strQuery = "INSERT INTO[Database$] (date,allocation,hours,reason,team)" & _ vbCrLf & "VALUES (" & "#" & Chr$(39) & Firstdate & Chr$(39) & "#" & "," & Chr$(39) & Name_Abs & Chr$(39) & "," & Chr$(39) & Hours_t & Chr$(39) & "," & Chr$(39) & Reason & Chr$(39) & "," & Chr$(39) & Team & Chr$(39) & ");" 

如果有人能帮助我,这将是伟大的..

正如在评论中,你问了太多(无关)的问题。 我只会回答你的“主要”问题。

  • #括住date,但没有额外的chr(39)

  • 纠正你的语法错误; 有缺less_连接你的陈述。

应用这一点,并假设一切都很好,你查询应该是:

 strQuery = "INSERT INTO [Database$] (date,allocation,hours,reason,team)" & _ vbCrLf & "VALUES (" & "#" & firstDate & "#," & _ Chr$(39) & Name_Abs & Chr$(39) & "," & Chr$(39) & Hours_t & Chr$(39) & "," & _ Chr$(39) & Reason & Chr$(39) & "," & Chr$(39) & Team & Chr$(39) & ");" 

编辑

看起来,一些字段名称中有空格(即“开始date”而不是“date”),请用“[]”括起来。 将这一系统地应用到所有领域是一个很好的做法。

 strQuery = "INSERT INTO [Database$] ([start date], [allocation], [hours],[reason], [team])" & _ vbCrLf & "VALUES (" & "#" & firstDate & "#," & _ Chr$(39) & Name_Abs & Chr$(39) & "," & Chr$(39) & Hours_t & Chr$(39) & "," & _ Chr$(39) & Reason & Chr$(39) & "," & Chr$(39) & Team & Chr$(39) & ");"