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)