Ayuda con copiar registros a una tabla temporal


([N4] Ramon Denuc) #1

Hola Foro,

Me explico lo que necesito hacer:

Tengo una tabla “CANDIDATOS” que contiene los datos de unos trabajadores, estos trabajadores pueden ser introducidos una o varias veces en un mismo mes en la citada tabla, depende de las entrevistas realizadas, cada entrevista hecha tienen que volver a ser introducido en la tabla, lo unico que cambia es el tipo de acción, por ejemplo I, E, O, F, etc.

La tabla quedaría de la siguiente forma:
1 Pepito 11/12/14 I
2 Manolito 10/12/14 E
3 Pepito 12/12/14 E
4 Joselito 09/12/14 O
5 Pepito 13/12/14 F

Lo que necesito es crear una tabla temporal que me unifique los trabajadores, Fecha y Acción
1 Pepito 11/12/14 I
3 Pepito 12/12/14 E
5 Pepito 13/12/14 F
4 Joselito 09/12/14 O
2 Manolito 10/12/14 E

¿Cual es la mejor forma de crear una tabla temporal que a posterior utilizare para crear un archivo XML?

El archivo XML lo creare con el comando Fichero:Grabar línea(…

Espero haberme explicado,
Muchas gracias.
Saludos,


([N4] gontorre) #2

Creo que no te hace falta crear una tabla temporal. Crea un indice con trabajador + fecha.

Un saludo

Gonzalo Torre


([N4] Ramon Denuc) #3

Hola Gonzalo,

Gracias por tu contestación.

Quiero hacer una tabla temporal porque la tabla original tiene muchos registro, ya se que no es problema para Velneo, pero prefiero trabajar con una tabla temporal para hacer el archivo XML.

Saludos


([N2] AyudaVelneo) #4

Hola Ramón:

Entonces tendrás que crear en la tabla origen un indice similar al que te decía Gonzalo. Después mediante proceso o manejador lanzar por ejemplo una busqueda para que te devuelva los registros que quieres “copiar” a la tabla temporal.

A partir de ahí con un manejador, ve recorriendo la lista de los registros y dando altas en la tabla temporal.

Un saludo


([N4] gontorre) #5

Entonces me imagino que primero tendrás que seleccionar los registros de la tabla que vas a querer gestionar con una búsqueda o un cargar lista. Después recorres la lista solo lectura, vas leyendo los campos y guardandolos en variables, creas una nueva ficha de la tabla temporal y grabas los datos desde las variables antes creadas. Yo hago esto con tablas temporales en memoria y primero borro el contenido de la tabla temporal por si tuviera algo de un proceso anterior.

También se puede hacer con tubos, pero yo no los utilizo porque si modificas la estructura de las tablas tienes que volver a crear los tubos porque se estropean las asignaciones de campos en el tubo.

Un saludo

Gonzalo Torre


([N4] gontorre) #6

Mierda! Te has adelantado por un minuto!


([N2] Mgalvezh) #7

Jejeje ¿ a que te suena de algo Vila ?. Saludos a Gran Maestro Fran…

Saludos.
Miguel.


([N3] pacosatu) #8

Hola Ramón.

Te propongo otra opción.

  • Crea una Tabla de Extensión de la tabla original (en memoria para que sea temporal) con los campos específicos de la exportación a XML
  • Carga la Lista indexada desde la tabla principal
  • Recorre dicha lista y vas añadiendo (crear nueva ficha en memoria) un Registro de Extensión a la tabla temporal

Con esto evitas tener que copiar los campos de la tabla original a la temporal de extensión ya que puedes acceder a ellos desde el puntero a maestro.

Recuerda que la tabla temporal en este caso solo existe en el lado del cliente.

Saludos
Paco Satué


([N4] Ramon Denuc) #9

Hola a todos,

Cuantas propuestas, esto es, aunque se repita, lo bueno que tiene esta comunidad, todos siempre que pueden ayudan, diciendo cada uno su propuesta, Fantástico!!!

Estudiare las propuestas, haber cual es la que mejor que se adapta a mis necesidades.

También buscare algún ejemplo por el blog para tener las ideas más claras, ya que ha veces una imagen vale más que mil palabras. :wink:

De verdad, muchas gracias.

Saludos,


([N4] Ramon Denuc) #10

Hola de nuevo,

Otra duda, para realizar la creación del archivo XML, mejor hacer ¿Un Proceso o a través de un manejador de Eventos?

La verdad ¿No se cuanta diferencia hay?

Saludos