Цикл Access 2010 VBA не добавляет строки данных в таблицу - PullRequest
0 голосов
/ 22 сентября 2018

Эта база данных будет моей смертью ... Я пытаюсь взять результаты в форме и скопировать данные в таблицу.Я создал кнопку, чтобы, надеюсь, сделать это, но все, что он делает, это открывает таблицу без данных.Данные, которые мне нужно увидеть в таблице, могут содержать от сотен до тысяч записей.Это то, что у меня пока есть:

`Private Sub Command42_Click()

Dim db As Database
Dim rec As Recordset

Set db = CurrentDb
db.Execute "Delete * FROM Import70_TBL"
Set rec = CurrentDb.OpenRecordset("Import70_tbl")
Do Until rec.EOF
    rec.AddNew
    rec("CCAMPUS") = Me.CCAMPUS
    rec("FUNCAFF") = Me.FUNCAFF
    rec("BUILDING") = Me.BUILDING
    rec("ROOM_NO") = Me.ROOM_NO
    rec("BLDG_NAME") = Me.BLDG_NAME
    rec("ROOMCD") = Me.ROOMCD
    rec("ASF") = Me.ASF
    rec("STATIONS") = Me.STATIONS
    rec("FAC_DEPT") = Me.FAC_DEPT
    rec("PGM_CODE") = Me.PGM_CODE
    rec("CCPEC") = Me.CCPEC
    rec("CCLSIZE") = Me.CCLSIZE
    rec("CRESIZE") = Me.CRESIZE
    rec("NSFDISC") = Me.NSFDISC
    rec("AREA_UNITS") = Me.AREA_UNITS
    rec("BUILDING_ZIP_CODE") = Me.BUILDING_ZIP_CODE
    rec.Update
Loop
rec.Close

DoCmd.OpenTable "Import70_tbl"

End Sub`

Очевидно, я делаю что-то не так, но не могу понять.Заранее благодарю всех, кто может мне помочь.

1 Ответ

0 голосов
/ 22 сентября 2018

Вам нужен RecordsetClone формы:

Private Sub Command42_Click()

    Dim db  As DAO.Database
    Dim res As DAO.Recordset 
    Dim rsc As DAO.Recordset 
    Dim fld As DAO.Field

    Set db = CurrentDb

    db.Execute "Delete * From Import70_tbl"
    Set rec = db.OpenRecordset("Import70_tbl")
    Set rcs = Me.RecordsetClone

    Do Until rcs.EOF
        rec.AddNew
            For Each fld in rcs.Fields
                res.Fields(fld.Name).Value = fld.Value
            Next
        rec.Update
        rcs.MoveNext
    Loop
    rec.Close
    rcs.Close        

    DoCmd.OpenTable "Import70_tbl"

End Sub
...