Unir Archivos en Visual Foxpro

Quisiera unir varias tablas con el comando Select, asi:

SELECT * FROM Tabla1 WHERE Condicion1 ;
UNION ALL ;
SELECT * FROM Tabla2 WHERE Condicion2 ;
UNION ALL ;
SELECT * FROM Tabla3 WHERE Condicion3 ;
INTO CURSOR MiCursor

El problema es cuando realizo la consulta de un año (12 meses) y un archivo de estos me falta o no lo tengo y sale un error porque falta alguno. Como puedo hacer para que primero se consulte cuantos archivos tengo y luego se regenere el código sin tener que cambiarlo manualmente.

3 Respuestas

Respuesta
1

En vez de UNION, prueba usar "Full JOIN".

Me puedes indicar como lo ejecuto

Gracias

Prueba lo siguiente mejor...

Select * FROM Tabla1 WHERE Condicion1 INTO CURSOR MiCursor READWRITE
insert into MiCursor Select * FROM Tabla2 WHERE Condicion2
insert into MiCursor Select * FROM Tabla3 WHERE Condicion3 

Respuesta
1

¿Cómo puede realizarlo?

Respuesta
1

Para comprobar si existe X archivo lo puedes hacer de la siguiente manera.

If file(NombreFile1) and file(NombreFile2) and file(NombreFile3)&&comprueba que existan esos archivos 

*Código a ejecutar

Endif

Lo que yo quiero es que si se encuentran los 3 archivos (tabla1, Tabla2, Tabla3), se elabore el código automático:

SELECT * FROM Tabla1 WHERE Condicion1 ;
UNION ALL ;
SELECT * FROM Tabla2 WHERE Condicion2 ;
UNION ALL ;
SELECT * FROM Tabla3 WHERE Condicion3 ;
INTO CURSOR MiCursor

Y si solo encuentra dos archivos (tabla1, Tabla3), elabore el siguiente código

SELECT * FROM Tabla1 WHERE Condicion1 ;
UNION ALL ;
SELECT * FROM Tabla3 WHERE Condicion3 ;
INTO CURSOR MiCursor

Esto lo necesito por que quiero realizarlo con 12 meses del año y no tener que cambiar los códigos constantemente quiere que lo realice automáticamente.

¡Gracias! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas