Pasar Fechas de VFP a FireBird

141 views
Skip to first unread message

Norberto Mario Alvarez

unread,
May 15, 2020, 1:48:02 PM5/15/20
to Comunidad de Visual Foxpro en Español
Hola Grupo, estoy pasando tablas DBF a Firebird, y me encuentro con una pregunta, si la fecha esta en blanco (DBF), como hago para pasarla a FireBird, porque evidentemente no inserta el registro. O que cosas debo tener en cuenta al pasar una fecha de DBF a Firebird, ya que la pongo en una variable y la intento poner en la tabla directamente. Desde ya muchas Gracias por vuestra atención.

Norberto Alvarez
Buenos Aires, Argentina

Francisco Lorente

unread,
May 15, 2020, 1:54:53 PM5/15/20
to Comunidad de Visual Foxpro en Español
Hola, Norberto

No he trabajado con FireBird pero prueba a grabar las fechas en blaco a valor .null. Eso es lo que yo hago con MariaDB.
Replace fecha With null For Empty(fecha)

Saludos.
Francisco Lorente.
Murcia. España

Antonio.xt

unread,
May 15, 2020, 1:58:17 PM5/15/20
to Comunidad de Visual Foxpro en Español

Hace tiempo no uso Firebird, pero seguramente es es porque no maneja fechas vacias como Fox, lo que debes hacer es insertar un valor nulo, pero la columna de la tabla en Firebird debe aceptar valores nulos.

Norberto Mario Alvarez

unread,
May 15, 2020, 4:17:16 PM5/15/20
to Comunidad de Visual Foxpro en Español
Gracias por las respuestas, destilde en la tabla NOT NULL para las fechas y listo. y preguntaré ISNULL, si la fecha esta vacia. 

Norberto Alvarez
Buenos Aires, Argentina

mapner

unread,
May 15, 2020, 4:57:57 PM5/15/20
to Comunidad de Visual Foxpro en Español
Hola Norberto,

Efectivamente los motores de BD no aceptan fechas en blanco, solo null, yo previo a grabar un registro pongo en null las fechas vacías para evitar el error o bien validar que deben tener dato.
FOR i=1 TO AFIELDS(aFs)
    IF aFs[i,2] = 'D' AND EMPTY(EVAL(aFs[i,1]))
         REPLACE (aFs[i,1]) WITH NULL
    ENDIF
ENDFOR

Juan Bonilla

unread,
May 15, 2020, 9:13:50 PM5/15/20
to Comunidad de Visual Foxpro en Español
Yo lo que hago es q inserto una fecha estilo 01-01-1900
y en foxpro valido, si es esa la fecha.. la reemplazo por un valor en blanco..,

no me gusta usar valores nulos..




El viernes, 15 de mayo de 2020, 12:48:02 (UTC-5), Norberto Mario Alvarez escribió:

Norberto Mario Alvarez

unread,
May 16, 2020, 8:45:09 AM5/16/20
to Comunidad de Visual Foxpro en Español
Gracias por la respuesta, y vi que pasaba por ahi, realmente no sabia que lo motores de BD no aceptaban, fechas vacias, solo NULL, aprovechando el hilo, algún tipo de campo mas "no aceptan valores vacios", lo pregunto porque como estoy migrando y las DBF, todo lo permite, no quiero encontrarme con que me faltan registros. Porque una de las cosas que aprendi, es que si en un campo hay alguna inconsistencia, no me guarda el registro, por ahora hago un conteo para asegurarme que pasan todos. Desde ya muchas gracias.

Norberto Alvarez
Buenos Aires, Argentina

El viernes, 15 de mayo de 2020, 14:48:02 (UTC-3), Norberto Mario Alvarez escribió:

Oscar Bonet

unread,
May 16, 2020, 10:29:52 AM5/16/20
to publice...@googlegroups.com
En la estructura de los campos fechas te aconsejo colocar valor por defecto algo como: 1900/01/01   asi si ingresa un registro vacío de este dato, el motor de la base de datos lo inicializa con este valor.   Solo te quedaría es evaluarlo cada vez lo consultes, es decir, por ejemplo:
 - si en un formulario o reporte el valor es {1900/01/01} entonces lo reemplazas por {/}
- si se trata de capturar lees el campo o variable y si el valor es NULL o {/}  lo conviertes a {1900/01/01}

* considerando que el formato de la fecha que manejo es AMD

Así lo hago y para cualquier motor de base de datos.

Oscar G. Bonet O.


--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/da6427ff-1e1c-442a-b18a-9a55963d82d2%40googlegroups.com.


De conformidad con el decreto 2242 de Noviembre de 2015, nuestra Compañía está implementando la Facturación Electrónica y según comunicado  100202211-410 del 29 de Junio de 2018 emitido por la DIAN, se nos fijó el 1 de diciembre de 2018 para la emisión de la factura electrónica.
En consecuencia, hemos destinado la cuenta de correo electrónico: 
e-fac...@cialta.com      para recepción y emisión de facturas electrónicas.

Habeas Data: La Compañía Internacional de Alimentos Agropecuarios CIALTA S.A.S. cumple con los requerimientos de la Superintendencia de Industria y Comercio de Colombia sobre el manejo de información de datos personales, lo cual implica tener políticas claras de tratamiento de Base de Datos que usted puede consultar: Politicas Habeas Data 

Si desea tener más información sobre el particular, puede escribirnos al correo habea...@cialta.com 

Reply all
Reply to author
Forward
0 new messages