FoxPro/Visual FoxPro - IMPORTAR TABLAS

 
Vista:

IMPORTAR TABLAS

Publicado por MARCO (25 intervenciones) el 16/07/2017 04:47:13
QUISIERA SU APOYO. SOY NUEVO EN FOX PRO. LO QUE QUIERO SU APOYO EN LO SIGUIENTE:

TENGO UNA TABLA INDEPENDIENTE LLAMAD (ASISTENCIA) CON LOS SIGUIENTES CAMPOS :

ASISTENCIA= DNI,DIA,MINUTO (CON CASI 500 REGISTROS)

&& LO QUE QUIERO ES QUE TODOS ESTOS DATOS SE COPIEN A MI TABLA PRINCIPAL LLAMADO (ASISTENCIA_1) EN EL QUE ESTAN MAS DE 1000 REGISTROS CON LOS SIGUIENTES CAMPOS:

ASISTENCIA_1= DNI,DATOS,DIA,MINUTO,FE_NACI.....

... QUIERO QUE SI COINCIDE EL (DNI) DE LA TABLA (ASISTENCIA) CON LA TABLA (ASISTENCIA_1) QUE SE REMPLACEN LOS DATOS DE (DIA Y MINUTO )...

ESPERO HABERME EXPLICADO BIEN.. QUISIERA SU APOYO.. POR FAVORRRRRRR
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

IMPORTAR TABLAS

Publicado por Leonardo Daniel A. (499 intervenciones) el 17/07/2017 06:39:35
Hola pues tienes que programar mi chavo..... abrir las 2 tablas y cruzarlas, si encuentras el dato, actualizas, si no lo agregas.....


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
select 1
use asistencia
 
sele 2
use asistencia_1
** Suponiendo que dia y minuto son de tipo caracter, si no deberas convertirlos con str( )
index on dni+dia+minuto to lndice
 
select Asistencia
SCAN
    _llave = dni + dia + minuto
    _dia = dia
    _minuto = minuto
 
    select ASISTENCIA_1
    if seek( _llave )
       replace dia with _dia
       replace minuto with _minuto
    endif
 
     select ASISTENCIA
 ENDSCAN
 
close table all
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 Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

IMPORTAR TABLAS

Publicado por Leonardo Daniel A. (499 intervenciones) el 17/07/2017 19:22:55
se me fue el avion jajaja, la llave es solo el DNI, lo puedes hacer asi como esta, aunque me comi la parte de agregarlo si no existe, o lo puedes hacer con SQL

1
2
3
4
5
6
7
8
9
10
11
** Actualizar donde DNI este en las 2 tablas
 
UPDATE asistencia_1 set dia = asistencia.dia, minuto = asistencia.minuto FROM asistencia where asistencia.dni = asistencia_1.dni
 
 
 
**  Insertar en Asistencia_1 los registros cuyo dni no esta en asistencia1 y si en asistencia
** si necesitas mas campos los metes entre los parentesis, y en el select tendrias que agregar los campos, se ponen en el orden en que seran leidos e insertados
 
INSERT INTO Asistencia_1 (dni, dia, minuto) SELECT dni, dia, minuto FROM asistencia ;
              WHERE dni NOT IN (SELECT dni FROM asistencia_1)
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
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

IMPORTAR TABLAS

Publicado por Abel (286 intervenciones) el 17/07/2017 18:45:23
Use Asistencia In 0
Use Asistencia_1 In 0

* --- Para Reemplazar. ---
Select Asistencia
Scan
Replace All Asistencia_1.Dia With Asistencia.Dia, Asistencia_1.Minuto with Asistencia.Minuto ;
For Asistencia_1.DNI=Asistencia.DNI In Asistencia_1
Endscan

* --- Para Insertar cuando en Asistencia exista un registro que no está en Asistencia_1. ---
INSERT INTO Asistencia_1 (DNI, Dia, Minuto) SELECT DNI, Dia, Minuto FROM Asistencia ;
WHERE Asistencia.DNI NOT in (SELECT DNI FROM Asistencia_1)
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