On Error Resume Next
DoCmd.SetWarnings False
DoCmd.OpenQuery “qdelContactIDs”
DoCmd.OpenQuery “qdelContactAddresses”
DoCmd.OpenQuery “qdelContacts”
GoTo NextSourceRecord
End If
Next, records in tblCompanyInfo are updated as needed:
On Error GoTo ErrorHandler
lngCompanyID = Nz(rstSource![OrganizationalIDNumber])
strSearch = “[CompanyID] = “ & lngCompanyID
Debug.Print “Search string: “ & strSearch
rstTarget.FindFirst strSearch
If rstTarget.NoMatch = True Then
Create new company record in target table.
rstTarget.AddNew
Else
rstTarget.Edit
End If
rstTarget![CompanyName] = _
Nz(rstSource!CompanyName)
rstTarget![Account] = Nz(rstSource!Account)
rstTarget![Category] = Nz(rstSource!Categories)
rstTarget![WebSite] = Nz(rstSource!WebPage)
rstTarget![FTPSite] = Nz(rstSource!FTPSite)
rstTarget![LastUpdated] = Now
rstTarget.Update
rstTarget.Close
Next, records in tblContactInfo are updated as needed:
UpdateContactInfo:
Search for matching contact record in target table, and update it if found; otherwise, create a new
contact record, and write contact data to it:
strTarget = “tblContactInfo”
Set rstTarget = dbs.OpenRecordset(strTarget, _
dbOpenDynaset)
strCustomerID = rstSource![CustomerID]
lngContactID = CLng(strCustomerID)
strSearch = “[ContactID] = “ & lngContactID
Debug.Print “Search string: “ & strSearch
rstTarget.FindFirst strSearch
If rstTarget.NoMatch = True Then
Synchronizing Access and Outlook Contacts 11