ACCESS 테이블 데이터를 순차적으로 탐색 및 수정

ACCESS 파일에서 VBA를 이용할 경우 필요한 데이터베이스에 쿼리를 이용해서 데이터를 추출한 뒤 순차적으로 접근하면서 조건에 맞게 데이터를 수정하게 됩니다. ACCESS 테이블 데이터를 순차적으로 탐색하는 과정을 담은 boilerTemplate를 아래와 같이 작성하여 공유합니다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Sub DBLoopAccess()
Dim dbs As DAO.Database
dbs = CurrentDb()
tableName = "Your Table"
sql = "SELECT * FROM & tableName & ";"
Set rs = dbs.OpenRecordset(sql, dbOpenDynaset)
'쿼리 개수 확인
If rs.EOF Then
MsgBox "Record Count is 0"
Else
rs.MoveLast
rsCount = rs.RecordCout
End if
Debug.Print rsCount
rs.MoveFirst
With rs
Do Until rs.EOF
.Edit
![Your Column] = "Changed Value"
.Update
.MoveNext
Loop
End With
rs.Close
Set rs = Nothing
End Sub
Sub DBLoopAccess() Dim dbs As DAO.Database dbs = CurrentDb() tableName = "Your Table" sql = "SELECT * FROM & tableName & ";" Set rs = dbs.OpenRecordset(sql, dbOpenDynaset) '쿼리 개수 확인 If rs.EOF Then MsgBox "Record Count is 0" Else rs.MoveLast rsCount = rs.RecordCout End if Debug.Print rsCount rs.MoveFirst With rs Do Until rs.EOF .Edit ![Your Column] = "Changed Value" .Update .MoveNext Loop End With rs.Close Set rs = Nothing End Sub
Sub DBLoopAccess()

Dim dbs As DAO.Database 
dbs = CurrentDb()

tableName = "Your Table"
sql = "SELECT * FROM & tableName & ";"
Set rs = dbs.OpenRecordset(sql, dbOpenDynaset)

'쿼리 개수 확인 
If rs.EOF Then
    MsgBox "Record Count is 0"
Else 
    rs.MoveLast
    rsCount = rs.RecordCout
End if

Debug.Print rsCount

rs.MoveFirst
With rs
    Do Until rs.EOF
        .Edit
        ![Your Column] = "Changed Value"
        .Update
        .MoveNext
    Loop
End With 

rs.Close
Set rs = Nothing

End Sub

Leave a Comment