一尘不染

如何在MS Access中使用VBA将值插入数据库表

sql

我最近开始使用访问权限。我试图在数据库中插入几行;但是,我被卡住了,因为它引发了一个错误:

参数太少。

我有一个表测试,其中只有一个名为start_date的列,我想在两个日期之间插入所有日期,例如,如果我考虑将2014年7月1日至2014年7月7日,我需要将日期设为1/7
/ 2014,2 / 7 / 2014,3 / 7/2014在我的表格中,但是我在插入所用代码时遇到问题如下

Private Sub createRec_Click()
Dim StrSQL As String
Dim InDate As Date
Dim DatDiff As Integer
Dim db As database
InDate=Me.FromDateTxt
'here I have used a code to find out the difference between two dates that i've not written
For i = 1 To DatDiff
StrSQL = "INSERT INTO Test (Start_Date) VALUES ('" & InDate & "' );"
StrSQL = StrSQL & "SELECT 'Test'"
db.Execute StrSQL
db.close
i=i+1
next i
End Sub

我的代码在Db.Execuite StrSQL行中抛出错误,因为参数太少。希望有人可以帮助我解决这个问题。提前致谢


阅读 237

收藏
2021-03-10

共1个答案

一尘不染

由于您提到您是一个非常新的访问者,因此我不得不邀请您首先删除代码中的错误(for循环和SQL语句不完整)。否则,您肯定需要for循环才能在某个范围内插入日期。

现在,请使用下面的代码将日期值插入表格中。我已经测试了代码,并且可以正常工作。您也可以尝试。之后,添加您的for循环以适合您的情况

Dim StrSQL As String
Dim InDate As Date
Dim DatDiff As Integer

InDate = Me.FromDateTxt

StrSQL = "INSERT INTO Test (Start_Date) VALUES ('" & InDate & "' );"

DoCmd.SetWarnings False
DoCmd.RunSQL StrSQL
DoCmd.SetWarnings True
2021-03-10