Actualizar Tabla de Registros Access con Transferspreadsheet (Sin generar duplicados)

Mi duda es que importo los datos de archivos excel a mi base de datos osea (Agrego nuevos). Pero hasta hace poco se me solicita que "ACTUALICE" un registro existente osea sustituya los valores que son diferentes a los del nuevo archivo excel. He intentado con una consulta de actualizacion desde una tabla temporal pero esto lo que hace es cambiar TODOS los datos de mi tabla y no debe ser asi porque solo necesito cambiar los que tengas el mismo primer campo Llamado "HOLEID"

Osea cuando hago la importacion de actualizacion debe verificar si el primero campo del archivo excel es igual a alguno de mi tabla. Entonces si es así actualizar solo ese. Y no generar duplicados

Aqui les dejo mi codigo de importacion (me funciona perfecto pero no se como hacer que funcione solo para actualizar como ya les dije):

Private Sub agregar2_Click()
Dim Xl As Excel.Application 'Definimos una variable de aplicación Excel
Dim filepath As String
Dim rango As String
Dim respuesta As String
Set Xl = New Excel.Application 'Inicializamos la variable
filepath = Xl.GetOpenFilename 'Obtenemos el Excel que queremos importar
'Comprobamos que se haya seleccionado correctamente el archivo
If (filepath <> "") Then
   'Ejecutamos la consulta para que lo importe
  DoCmd.TransferSpreadsheet acImport, , "SpectTerraOptimizada", filepath, True, Me.rango
  MsgBox "Registros guardados con éxito", vbInformation
End If
End Sub

AQUI LA VENTANA EMERGENTE QEU UTILIZO:

Se les agradece pronta respuesta!

1 Respuesta

Respuesta
1

Lo que yo haría es importar la hoja de excel a una tabla temporal de access y luego con un procedimiento tomo la tabla temporal y la relaciono con la tabla permanente para actualizar o agregar los registros que cumplan la condición. Todo desde el botón de importar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas