** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Resuelto Obtener valores diferentes entre 2 tablas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoResuelto Obtener valores diferentes entre 2 tablas

 Responder Responder
Autor
Mensaje
zelarra Ver desplegable
Habitual
Habitual


Unido: 21/Octubre/2020
Localización: España
Estado: Sin conexión
Puntos: 122
Enlace directo a este mensaje Tema: Resuelto Obtener valores diferentes entre 2 tablas
    Enviado: 25/Febrero/2021 a las 16:28
Buenas tardes.

Tengo dos tablas, en las que guardo el nombre de archivos que tenga en una carpeta del ordenador.

En una de las tablas (Tabla1), guardo el nombre que obtengo al recorrer las carpetas mediante VBA.

Y en la otra tabla (Tabla2), llevo un registro manual porque cada archivo lo registro en una serie de categorías que sería complicado hacerlo mediante VBA.

Entonces, lo que necesito es obtener los nombres que estén en la Tabla2 pero que ya no existan en el ordenador, es decir, no aparecerían, por tanto, en Tabla1. Y, por otro lado, los nombres de Tabla1 que aún no estén registrados en Tabla2.

Ambos nombres no están relacionados mediante ningún ID.

Tampoco he podido hacerlo mediante consulta: primero una consulta de unión de ambas tablas, y luego un select distinct, porque, obviamente, me muestra una relación de registros únicos, y eso no es lo que quiero.

A ver, ahora mismo lo estoy haciendo por VBA, recorriendo los archivos de la carpeta, pero como son muchos, me tarda mucho en realizar la comprobación, y quería saber si era posible hacerlo a través de las tablas, o consultas, con algo más simple y rápido, pues la información ya está en las tablas.

¡Gracias!


Editado por zelarra - 28/Diciembre/2022 a las 17:53
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14926
Enlace directo a este mensaje Enviado: 25/Febrero/2021 a las 18:33
Una consulta de coincidentes entre ambas tablas debería devolverte lo que estas buscando. Primero en un sentido y luego en otro, yo creo que lo sacas.

Si no te aclara en los criterios (yo nunca me aclaro con esto de los coincidentes y no coincidentes) activa el asistente de consultas.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
zelarra Ver desplegable
Habitual
Habitual


Unido: 21/Octubre/2020
Localización: España
Estado: Sin conexión
Puntos: 122
Enlace directo a este mensaje Enviado: 25/Febrero/2021 a las 19:06
Hola, Xavi. Acabo de hacer lo que dices y me da un error: No coinciden los tipos de datos en la expresión de criterios.

SELECT TVideos.*
FROM TVideos LEFT JOIN CFiles ON TVideos.[Nombre] = CFiles.[FolderFileName1]
WHERE (((CFiles.FolderFileName1) Is Null));

Muchas gracias.
Arriba
zelarra Ver desplegable
Habitual
Habitual


Unido: 21/Octubre/2020
Localización: España
Estado: Sin conexión
Puntos: 122
Enlace directo a este mensaje Enviado: 25/Febrero/2021 a las 23:01
Ya he dado con el error. El problema es que estaba utilizando un campo calculado. Entonces, las dos consultas han quedado así:

SELECT CFilesTreeview.FolderFileName1
FROM CFilesTreeview LEFT JOIN CFilesVideos ON CFilesTreeview.FolderFileName1 = CFilesVideos.FolderFileName1
WHERE (((CFilesVideos.FolderFileName1) Is Null));

SELECT CFilesVideos.folderfilename1 AS VideoName
FROM CFilesTreeview RIGHT JOIN CFilesVideos ON CFilesTreeview.FolderFileName1 = CFilesVideos.FolderFileName1
WHERE (((CFilesTreeview.DefaultFolderNumber) Is Null));

Arriba
zelarra Ver desplegable
Habitual
Habitual


Unido: 21/Octubre/2020
Localización: España
Estado: Sin conexión
Puntos: 122
Enlace directo a este mensaje Enviado: 05/Febrero/2023 a las 18:31
Se puede cerrar el hilo
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable