How to update an Access Table using VBA
How to update an Access Table using ADO
The following code snippet would be helpful to update an Access 2007 database table using VBA. The code uses <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />ADO and requires a reference to ActiveX Data Objects Library
The sample uses a simple table which contains a name and a location field.
The code uses the SQL update query to update the database. The query is executed by the ADO’s command execute method
Sub Simple_SQL_Update_Data()<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Dim Cn As ADODB.Connection '* Connection String
Dim oCm As ADODB.Command '* Command Object
Dim sName As String
Dim sLocation As String
Dim iRecAffected As Integer
On Error GoTo ADO_ERROR
Set Cn = New ADODB.Connection
Cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\comp\Documents\SampleDB.accdb;Persist Security Info=False"
Cn.ConnectionTimeout = 40
Cn.Open
sName = "Krishna Vepakomma"
sLocation = "Cincinnati, OH"
Set oCm = New ADODB.Command
oCm.ActiveConnection = Cn
oCm.CommandText = "Update SampleTable Set Location ='" & sLocation & "' where UserName='" & sName & "'"
oCm.Execute iRecAffected
If iRecAffected = 0 Then
MsgBox "No records inserted"
End If
If Cn.State <> adStateClosed Then
Cn.Close
End If
Application.StatusBar = False
If Not oCm Is Nothing Then Set oCm = Nothing
If Not Cn Is Nothing Then Set Cn = Nothing
ADO_ERROR:
If Err <> 0 Then
Debug.Assert Err = 0
MsgBox Err.Description
Err.Clear
Resume Next
End If
End Sub
- Login or register to post comments
- Feed: vbadb feed
- Original article
