sincronizar una tabla de access con outlook
Publicado por Carlos (1 intervención) el 22/05/2007 21:46:37
Hola a todos, necesito que alguien me ayude con tun trabajo que tengo que hacer. Tengo que buscar la forma de sincronizar una tabla de access con la carpeta de contactos Outlook, es decir que cuanto actualize un contacto en access se modifique los contactos de outlook y viceversa. Encontre el siguiente codigo, pero no me corre.
Sub BuscarContactosDeBaseDeDatos()
'Establece las variables
Dim dbsBaseDeDatos As Database
Dim rstTablaBaseDeDatos As Recordset
Dim strTablaBaseDeDatos As String
Dim strCampoNombreCompletoDeTablaBaseDeDatos As String
Dim strConsultaCampoDeTablaBaseDeDatos As String
'Establece los valores de las variables
strTablaBaseDeDatos = "D:\Mis documentos\contactos.mdb"
strConsultaCampoDeTablaBaseDeDatos = "SELECT Contac.Nombre, Contac.Domicilio, Contac.[C Postal], Contac.Poblacion, Contac.Pais, Contac.Telefono1, Contac.Telefono2, Contac.Fax, Contac.EMail, Contac.[Pagina Web] FROM Contac ORDER BY Contac.Nombre"
'Copia una Sentencia SQL de Access
Set dbsBaseDeDatos = OpenDatabase(strTablaBaseDeDatos)
Set rstTablaBaseDeDatos = dbsBaseDeDatos.OpenRecordset(strConsultaCampoDeTablaBaseDeDatos, dbOpenSnapshot)
'Llena el Recordset
With rstTablaBaseDeDatos
.MoveLast
.MoveFirst
'Recorre todos los Registros y crea el contacto
For Contacto = 1 To .RecordCount
strCampoNombreCompletoDeTablaBaseDeDatos = !Nombre
.MoveNext
'Llama a la Rutina que crea el Contacto en Outlook
CrearContactoEnOutlook (strCampoNombreCompletoDeTablaBaseDeDatos)
Next Contacto
.Close
End With
'Cierra la base de datos abierta
dbsBaseDeDatos.Close
End Sub
Sub CrearContactoEnOutlook(strCampoNombreCompletoDeTablaBaseDeDatos As String)
'Establece los Objetos y carpetas de Outlook donde se van a crear los contactos
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(10)
Set myItem = myOlApp.CreateItem(olContactItem)
'Establece los valores de los Campos del Formulario Contactos de Outlook
With myItem.FullName = strCampoNombreCompletoDeTablaBaseDeDatos myItem.Save 'Salva los Objetos
End With
End Sub
El error me lo marca en la siguiente linea: "myItem.FullName = strCampoNombreCompletoDeTablaBaseDeDatos"
Espero que me puedan ayudar, de antemano gracias
Sub BuscarContactosDeBaseDeDatos()
'Establece las variables
Dim dbsBaseDeDatos As Database
Dim rstTablaBaseDeDatos As Recordset
Dim strTablaBaseDeDatos As String
Dim strCampoNombreCompletoDeTablaBaseDeDatos As String
Dim strConsultaCampoDeTablaBaseDeDatos As String
'Establece los valores de las variables
strTablaBaseDeDatos = "D:\Mis documentos\contactos.mdb"
strConsultaCampoDeTablaBaseDeDatos = "SELECT Contac.Nombre, Contac.Domicilio, Contac.[C Postal], Contac.Poblacion, Contac.Pais, Contac.Telefono1, Contac.Telefono2, Contac.Fax, Contac.EMail, Contac.[Pagina Web] FROM Contac ORDER BY Contac.Nombre"
'Copia una Sentencia SQL de Access
Set dbsBaseDeDatos = OpenDatabase(strTablaBaseDeDatos)
Set rstTablaBaseDeDatos = dbsBaseDeDatos.OpenRecordset(strConsultaCampoDeTablaBaseDeDatos, dbOpenSnapshot)
'Llena el Recordset
With rstTablaBaseDeDatos
.MoveLast
.MoveFirst
'Recorre todos los Registros y crea el contacto
For Contacto = 1 To .RecordCount
strCampoNombreCompletoDeTablaBaseDeDatos = !Nombre
.MoveNext
'Llama a la Rutina que crea el Contacto en Outlook
CrearContactoEnOutlook (strCampoNombreCompletoDeTablaBaseDeDatos)
Next Contacto
.Close
End With
'Cierra la base de datos abierta
dbsBaseDeDatos.Close
End Sub
Sub CrearContactoEnOutlook(strCampoNombreCompletoDeTablaBaseDeDatos As String)
'Establece los Objetos y carpetas de Outlook donde se van a crear los contactos
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(10)
Set myItem = myOlApp.CreateItem(olContactItem)
'Establece los valores de los Campos del Formulario Contactos de Outlook
With myItem.FullName = strCampoNombreCompletoDeTablaBaseDeDatos myItem.Save 'Salva los Objetos
End With
End Sub
El error me lo marca en la siguiente linea: "myItem.FullName = strCampoNombreCompletoDeTablaBaseDeDatos"
Espero que me puedan ayudar, de antemano gracias
Valora esta pregunta


0