FoxPro/Visual FoxPro - inlist

   
Vista:

inlist

Publicado por moises gamaliel (3 intervenciones) el 27/10/2015 17:58:40
HOLA AMIGOS COMO PUEDO DARLE SOLUCION LA VERDAD LLEVO POCO CON ESTE SISTEMA QUISIERA VER SI ME PODRIAN AYUDAR NECESITO HACER EL CRUCE DE DOS TABLAS ESTE ES EL CODIGO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
USE empleados IN 0
USE fullemp IN 0
SELECT empleados
SELECT idnomina,idempleado,nombre_emp, rfc, imss, cenope FROM fullemp
  INLIST(ALLTRIM(cenope,"Presa Solís","Presa Solís Gayosso","Direccion Duraznos","Querétaro"))
  SELECT TMP
  GO TOP
  SCAN
      cIdnomina = STR(tmp.idnomina)
      cIdempleado = STR(tmp.idempleado)
      cRfc = ALLTRIM(tmp.rfc)
      IF SEEK (cIdnomina+cIdempleado,'Empleados','NOMYIDEMP')
         IF cRfc != ALLTRIM (empleados.rfc)
         ****INSERTAR DATOS***
         ENDIF
       ENDIF
  ENDSCAN


Y AUN ME FALTA EL CODIGO DE INSERTAR REGISTROS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

inlist

Publicado por Juan R. (100 intervenciones) el 27/10/2015 20:08:52
Buenas Moisés

Explícate un poco mejor porque la consulta (que para ejecutarse supongo que tendría que ir en un SQLEXEC()), sólo la haces sobre una tabla, ya tenías los datos pasados a una única tabla????

Qué quieres hacer exactamente con el comando INLIST?

Por otra parte, insertar datos en una tabla es tan fácil como hacer la misma instrucción en SQL "INSERT INTO tabla (campos) VALUES (valores)"

Aclara un poco más y si se puede se te ayudará con gusto.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

inlist

Publicado por moises gamaliel (3 intervenciones) el 28/10/2015 17:00:15
Ok
Mira me piden el cruce de dos tablas y que el mismo programa me arroge una ventana de los empleados que esta insertando nuevos, cuantos inserto y los que son omitidos
Del inlist ya lo logre hacer pero como puedo hacer esta parte de me mandé una ventana mostrando cuantos empleados inserto , cuantos son omitidos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abel

inlist

Publicado por Abel (23 intervenciones) el 02/11/2015 15:29:49
Intento entender lo que dices Moises; solo por aclarame necesito que me expliques lo siguiente:
Tabla 1. Tienes una tabla con todos los empleados registrados
Tabla 2. Otra tabla con nuevos empleados

y quieres hacer que el sistema verifique los que están registrados y cargar los que no estén desde la "tabla 2"; cual es la condición para omitir cargar un registro?; o es que debe verificar si existen no volver a cargarlos. ¿Es así?...

Si no lo has resuelto puedo darte una mano con mucho gusto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

inlist

Publicado por Moises (3 intervenciones) el 02/11/2015 16:04:31
Es así exactamente es lo que quiero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abel

inlist

Publicado por Abel (23 intervenciones) el 02/11/2015 17:38:19
Este código te diferenciará Empleados cargados de los no cargados, comparando ambas tablas:

Tabla 1: Considerando que ésta tabla tiene la totalidad de los empleados registrados.
Tabla 2: Esta tabla tiene los nuevos empleados...

Teniendo por ejemplo que el campo del nombre del empleado es "Empleado" y el código que identifica al empleado en ámbas tablas es "EmpleadoID", sería algo así...

1
2
3
4
5
6
7
&& ----------------------------------
SELECT Empleado, "No Cargados" as Estado FROM Tabla1 ;
	WHERE EmpleadoID not in (SELECT DISTINCT EmpleadoID FROM Tabla2) ;
	UNION ;
	SELECT Empleado, "Cargados" as Estado FROM Tabla1 ;
	WHERE EmpleadoID In (SELECT DISTINCT EmpleadoID FROM Tabla2) ;
	INTO CURSOR NuevoCursor

Luego puedes hacer uso de SET FILTER para leer unos u otros... por ej.:

1
2
&& ----------------------------------
SET FILTER TO Estado="No Cargados"

o bien

1
SET FILTER TO Estado="Cargados"

y haces lo que quieras... APPEND FROM, INSERT INTO, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar