Buscar Registro desde Excel en una MDB

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_carpetatu_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