如何使用MS访问中的VBA将值插入数据库表

shr*_*vya 5 sql vba access-vba ms-access-2010

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

参数太少.

我有一个表测试,其中只有一列名为start_date我想插入两个日期之间的所有日期,例如,如果我考虑2014年1月7日至2014年3月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
Run Code Online (Sandbox Code Playgroud)

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

use*_*567 10

既然你提到你是一个很新的访问,我不得不邀请你先删除代码中的错误(不完整的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
Run Code Online (Sandbox Code Playgroud)