Modificar ficha en importación de datos


([N3] Servinfor) #1

Hola estoy trayendo datos de clientes de una base de datos de access. Los llevo a una tabla de clientes en velneo. Pero necesitaria esos datos complementarlos con información en más campos de la tabla en velneo.
El proceso por el que traigo los datos elimina toda la tabla de clientes y la vuelve a crear Al hacerlo me borraría los datos de los campos que sólo uso en Velneo
Si uso una tabla de extensión para poner esos datos adicionales al borrar el registro también se borran los datos en la tabla de extensión
Qué debería hacer?


([N3] Servinfor) #2

Hay una opcion al dar de baja la ficha principal que en teoría al eliminar la ficha principal no se elimina la ficha de extensión y eso me valdría pero no lo hace correcto pues si pongo datos en la ficha de extensión ya no me deja elimianr la ficha principal me sale error al intentar eliminar la ficha debido a que tiene datos la ficha de extension


([N2] gegeo) #3

No te he entendido muy bien.

Tienes una tabla clientes en Velneo, y quieres añadir los de Access

La tabla de clientes Velneo tiene tabla de extension.

¿Quieres mantener los datos clientes Velneo, y añadir los datos clientes de Access, y estos datos de Access los quieres en la tabla extension?

¿Quieres añadir a la tabla clientes Velneo los datos de la tabla Access, y si no esta el cliente darlo de alta?


([N3] Servinfor) #4

A ver el listado de clientes está en un programa de facturación (facturaplus) pero necesitan mas información con una serie de campos añadidos

Para ello mi idea es coger los datos de clientes del facturaplus (que quieren seguir trabajando con el pues tiene el enlace con su contabilidad) pasarlos a una tabla en velneo y en esa tabla en velneo que esten esos campos añadidos que necesitan y así controlar las fichas de clientes desde la aplicacion en Velneo

Mi problema es que cada vez que importo los datos del facturaplus he creado un proceso que borra toda la tabla de clientes e importa los datos actualizados cada vez Si hago eso borraría esos campos añadidos en la tabla velneo

Otra opción es que esos campos añadidos los ponga en una tabla de extension y aunque borre los campos de la tabla cliente se mantengan los de extension para cuando vuelva a importar datos pero no me aclaro para borrar los datos de clientes sin que se borren los de extension

En fin que no tengo claro la mejor forma

¿Se pueden actualizar los datos del facturaplus en vez de elimianarlos cada vez?


([N2] gegeo) #5

Entiendo, que quieren actualizar cada x tiempo, los datos de facturaplus a V7, sin perder los que hayas añadido desde la anterior importacion.

En el proceso que tienes, puedes hacer lo siguiente:

Evidentemente, no borrar datos al inicio del proceso.

Supongo que para importar leeras cada linea.

Si es asi, despues de leer cada linea, puedes comprobar por un campo unico si el registro existe en V7:
-Si existe, modificas en V7 con los datos del fichero importado
-Si no existe, das nueva alta en V7

Como campo unico, puedes utilizar CIF, o incluso crearte en V7 un campo ID_FPLUS en el que guardes el id del registro o id cliente de factura plus

No se si esto te puede valer.

No trabajo con ficha extension, por lo que no puedo aconsejarte en este aspecto.


([N3] Servinfor) #6

Cual es el comando para modificar en V7 los campos que hayan cambiado con los datos del fichero importado

poque en mi proceso para crear altas pongo

cargo lista
creo nueva ficha en memoria
modifico campos…
alta de ficha

y para modificar los campos que haya variado algo pero ya existen pongo
cargo lista
creo nueva ficha en memoria
modifico campos…
Seleccionar ficha por posicion()
Modificar ficha seleccionada

Y no modifica los registros que hayan sufrido cambios en access


([N2] gegeo) #7

Cargas lista por el ID_UNICO leido de Facturaplus
—Si no existe
------Crear nueva ficha memoria, etc etc
—Si existe
------Recorres la lista en lectura/escritura
---------Lees la ficha (solo habra devuelto 1)
------------Coges el valor actual de los campos para comparar con el leido
----------------Modificas campo (Ejemplo, choose(Ejempolo=EjemploLeido, Ejemplo, Ejemplo leido))

Adjunto imagen


([N3] Servinfor) #8

ya esta claro, es lo que decías cargar lista recorrer lista modificar campos

Muchas gracias