Imprimir página | Cerrar ventana

Resuelto Obtener valores diferentes entre 2 tablas

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85839
Fecha de impresión: 26/Marzo/2026 a las 18:06


Tema: Resuelto Obtener valores diferentes entre 2 tablas
Publicado por: zelarra
Asunto: Resuelto Obtener valores diferentes entre 2 tablas
Fecha de publicación: 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!



Respuestas:
Publicado por: xavi
Fecha de publicación: 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

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: zelarra
Fecha de publicación: 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.


Publicado por: zelarra
Fecha de publicación: 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));



Publicado por: zelarra
Fecha de publicación: 05/Febrero/2023 a las 18:31
Se puede cerrar el hilo



Imprimir página | Cerrar ventana