如何使用数组循环我的记录集?

时间:2013-09-23 20:29:33

标签: arrays loops access-vba record-count

我希望我的功能打开表格,并返回1/1/2013 for recordcount 1,1 / 2/2013 for recordcount 2 ... 1/20/2013 for record count 20.

到目前为止,我有以下代码,但它只返回1/2/2013,我有24条记录: (我的记录数量将从每月22-30个不等)

Public Function DDate() As Date

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim icounter As Integer
Dim UpBound As Long


Set db = CurrentDb()
Set rs = db.OpenRecordset("tblDDate", dbOpenDynaset)


    If Not (rst.BOF And rst.EOF) Then
        rst.MoveFirst

        UpBound = rs.RecordCount

    Do Until rs.EOF = True

        For icounter = 1 To UpBound
            DDate = DateAdd("m", icounter, "1/1/2013")
            rst.MoveNext
        Next icounter
    Loop
    End If

rs.Close
db.Close

 End Function

1 个答案:

答案 0 :(得分:1)

您上面的评论表示该表格不包含日期,但您尝试在表格中添加日期字段。

不幸的是,您无法将新字段(列)添加到这样的表中。您需要在设计视图中执行此操作,或在运行时在数据库上运行ALTER语句:

ALTER TABLE myTableName ADD COLUMN dateColumnName Date Null;

然后如果你想设置列的值,希望你的表有一个唯一的id与数据类型计数器(?)我建议你使用更新查询:

UPDATE myTableName SET dateColumnName = CDate("1/" & trim(uniqueIDColumnName) & "/2013");