Grabar datos desde Excel para Access

gcerati123
06 de Julio del 2006
Tengo una rutina que funciona perfectamente, pero al tratar de grabar un registro con un codigo igual a uno que ya existe obviamente me da error por ser una clave principal y unica. Mi pregunta es de que manera puedo desde excel verificar primero que ese registro no existe en mi base de datos en Access.

Private Sub CommandButton1_Click()

\' exporta datos de la hoja activa a una tabla de una mdb de Access
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
\' conexion con la mdb de Access
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\tu_carpeta\tu_base.mdb;"
\' crea un recordset
Set rs = New ADODB.Recordset
rs.Open "tu_tabla", cn, adOpenKeyset, adLockOptimistic, adCmdTable
r = 2 \' fila desde la que se comienza la exportación
Do While Len(Range("A" & r).Formula) > 0
\' repite el proceso hasta la primera celda vacía de la columna A
With rs
.AddNew \' crea un nuevo registro
\' agrega valores en cada campo del registro
.Fields("campo_1") = Range("A" & r).Value
.Fields("campo_2") = Range("B" & r).Value
.Fields("campo_3") = Range("C" & r).Value
\' hasta los campos que sean necesarios
.Update \' almacena el nuevo registro
End With
r = r + 1 \' siguiente fila
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing