首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DAO.Recordset AddNew

DAO.Recordset AddNew
EN

Stack Overflow用户
提问于 2017-02-02 12:19:50
回答 1查看 4.8K关注 0票数 0

我想知道您是否可以,以及如何不断向表中添加记录或循环记录,直到字段达到某个日期1/1/2121?我将代码更改为sub,我可以将其命名为FilltbluBoughtVacation 2013,2021

但是我认为这是可行的,我得到了一个错误'3134‘语法错误在insert into语句和debug把我带到CurrentDb.Execute strSql。

代码语言:javascript
复制
Public Sub FilltbluBoughtVacation(StartYear As Integer, EndYear As Integer)

Dim BoughtYear As Date
Dim CurrentYear As Integer

For CurrentYear = StartYear To EndYear
    BoughtYear = CDate("01/01/" & CurrentYear)
    InsertBoughtVacation BoughtYear

Next CurrentYear
End Sub

Public Sub InsertBoughtVacation(BoughtVacDate As Date)
Dim strSql As String
strSql = "Insert into [tbluBoughtVacation] ([BoughtVacDate]) values (#" & Format([BoughtVacDate], "mm/dd/yyyy") & "# ,)"
Debug.Print strSql
CurrentDb.Execute strSql

End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-02 16:34:22

这对于两个函数来说太少了,而且在循环中调用SQL也太慢了。因此:

代码语言:javascript
复制
Public Sub FilltbluBoughtVacation(StartYear As Integer, EndYear As Integer)

    Dim rs AS DAO.Recordset

    Dim Sql As String
    Dim CurrentYear As Integer

    Sql = "Select Top 1 EmployeeID, BoughtYear From tbluBoughtVacation"
    Set rs = CurrentDb.OpenRecordset(Sql)

    For CurrentYear = StartYear To EndYear
        rs.AddNew
            rs("EmployeeID").Value = Me!txtEmployeeID.Value 
            rs("BoughtYear").Value = DateSerial(CurrentYear, 1, 1)
        rs.Update
    Next
    rs.Close

    Set rs = Nothing

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41994134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档