Anexar datos a tabla que no estén ya cargados

Quisiera saber como puedo actualizar una tabla de mi base de datos, con datos que tomará de un archivo Excel, de la cual solo quiero que anexe los registros que yo no tengo.

Ejemplo: tengo una tabla clientes donde esta el cliente Pablo y un archivo Excel donde ya figura Pablo y están lautaro y Nicolas. Quisiera que excluya a Pablo para que no se me repitan los registros.

Respuesta
1

Como siempre varias maneras de hacerlo.

La más directa sería importar directamente a tu tabla de destino, teniendo configurado en dicha tabla el campo de nombre como clave principal, de este modo al anexar, no te pegaría los registros que infrinjan la clave (no pegaría los registros con valor en el campo clave ya presente en la tabla).

La anexión la puedes realizar con la siguiente instrucción:

DoCmd. TransferSpreadsheet acImport, 8, "tabla destino", fileName, True, "Hoja1!"

Deberás sustituir los valores de los parámetros para tu caso particular, el nombre de la tabla de destino, el "filename" es el archivo excel con ruta completa, la hoja donde tienes los datos...

Otra manera quizá más segura sería importar a una tabla puente y entonces cruzar con tu tabla de destino; marcar los que ya tienes y anexar los demás.

Gracias por contestar. Siguiendo con el mismo caso, como tendría que hacer si quiero filtrar con una condición logica?

Osea..si se da campo1 Y campo2 no lo agregues, sino agregalo.

Para agregar condiciones no lo puedes hacer con el método DoCmd. TransferSpreadsheet directamente, de modo que deberías o bien importar a una tabla puente y tratar allí antes de anexar en la definitiva, o bien anexar directamente en la definitiva y tratar posteriormente (eliminar lo que no cumpla).

Otra posibilidad es tratar el fichero excel desde access.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas