Showing posts with label Excel Access Integration. Show all posts
Showing posts with label Excel Access Integration. Show all posts

Thursday, July 14, 2011

Access To Excel and Excel to Access to VBA

Access to Excel Data Retrieving :


'SearchButton
Private Sub CommandButton1_Click()
On Error GoTo Err:

Application.StatusBar = "Connecting...."
Dim sh As Worksheet
Dim cn As ADODB.Connection, rs As New ADODB.Recordset, r As Long
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
    "Data Source=\\192.168.1.159\D\ReceiptDataBase.accdb;"
   
    rs.Open "Sheet1", cn, adOpenStatic, adLockOptimistic, adCmdTable
Set sh = Sheets("InterFace")

c = 0
While Not rs.EOF = True
        If rs.Fields("IndusID") = sh.Range("InID").Value And IsNull(rs.Fields("PaidAt").Value) Then
       
        rw = sh.Range("A100").End(xlUp).Row + 1
            For Each f In rs.Fields
            sh.Cells(rw, c + 1).Value = rs.Fields(c).Value
            c = c + 1
            Next
           
        End If
        rs.MoveNext
 Wend
 Set cn = Nothing
 Set rs = Nothing
Exit Sub
Err:
If Err.Number > 0 Then
    MsgBox "Connection Error", vbInformation
    End If

End Sub


Update Query From Excel To Access

' Updated Button
Private Sub Upldate_Click()

On Error GoTo Err:

Application.StatusBar = "Connecting...."
Dim sh As Worksheet
Dim Rng As Range
Dim cell As Range
Dim Sql As String
Dim cn As ADODB.Connection, rs As New ADODB.Recordset, r As Long
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
    "Data Source=\\192.168.1.159\D\ReceiptDataBase.accdb;"
Set sh = Sheets("interFace")
Set Rng = sh.Range("J5:J" & Range("A100").End(xlUp).Row)
        If Rng.Row = 4 Then Exit Sub

    For Each cell In Rng
    If cell.Value <> "" Then
    Sql = "Update  Sheet1 Set PaidAt=" & Range("I" & cell.Row).Value & ",PaidDate='" & Range("J" & cell.Row).Value & "',ReceiptNumber=" & Range("K" & cell.Row).Value & ", Remark =' " & Range("L" & cell.Row) & "' where EneryUsageID =" & Range("B" & cell.Row)
    cn.Execute Sql, "Sheet1"
    Rows(cell.Row).Delete
    MsgBox "Updated"
    End If
    Next

 Set cn = Nothing
 Set rs = Nothing
Exit Sub
Err:
End Sub