Saludos al foro:
Tengo la siguiente situación, en un registro tengo dos campos de tipo fecha
definidos como DATE.
Uno de los campos contiene la fecha de emisión, por lo tanto siempre tiene
una fecha, pero el otro que tiene la fecha de pago al momento de grabar
no tiene contenido, aún no se ha pagado, por lo tanto debe ir vacío.
Tengo definido el campo como NOT NULL y por DEFAULT '0000-00-00', sin
embargo al retomar el registro para mostrarlo en algún consulta me tira
error por el campo vacío.
Algún consejo?, que estoy haciendo mal?
Gracias
Una de fechas (SOLUCIONADO)
- Armando
- Posts: 3278
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 3 times
- Contact:
Una de fechas (SOLUCIONADO)
Last edited by Armando on Wed Jun 16, 2021 1:13 am, edited 1 time in total.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- karinha
- Posts: 7948
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Una de fechas
Ejemplo simples? Cual error te retorna? Muestre. Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Armando
- Posts: 3278
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 3 times
- Contact:
Re: Una de fechas
Karinha:
Gracias por el interés, este es el error que me tira
Y esta es la definición de los campos en la tabla
El problema esta en el campo DET_FDE, al grabar esta vacio, con el valor por DEFAULT '0000-00-00' como
se ve en el siguiente texto, que al leerlo para imprimir es cuando tira el error
1 1 1 PRIMERA REFACCION 5000 PZS Almacén de refacciones 1.5 7500 0000-00-00 0
Espero haber explicado bien el problema
Saludos
Gracias por el interés, este es el error que me tira
Code: Select all | Expand
Application
===========
Path and name: C:\SiaMSM\SiaMsm.Exe (32 bits)
Size: 5,007,872 bytes
Compiler version: Harbour 3.2.0dev (r1904111533)
FiveWin version: FWH 19.05
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 5 secs
Error occurred at: 15/06/2021, 17:20:47
Error description: (DOS Error -2147352567) WINOLE/1007 El proveedor de datos u otro servicio devolvió un estado E_FAIL. (0x80004005): Microsoft Cursor Engine
Stack Calls
===========
Called from: => TOLEAUTO:BOF( 0 )
Called from: Source\SiaMsm6c.Prg => LEEDET( 1304 )
Called from: Source\SiaMsm6c.Prg => IMPRIMIR( 1213 )
Called from: Source\SiaMsm6c.Prg => (b)LABARRA( 266 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 697 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 983 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1791 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 2006 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3546 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1078 )
Called from: Source\SiaMsm.Prg => MAIN( 171 )
Y esta es la definición de los campos en la tabla
Code: Select all | Expand
cCmdSql := "CREATE TABLE IF NOT EXISTS DetOdc (" +;
"DET_FOL DECIMAL(07,0) NOT NULL DEFAULT 0 COMMENT 'Folio de la órden de compra'," +;
"DET_PTD DECIMAL(05,0) NOT NULL DEFAULT 0 COMMENT 'Partida'," +;
"DET_PAR DECIMAL(05,0) NOT NULL DEFAULT 0 COMMENT 'Número de parte'," +;
"DET_POS TEXT NOT NULL COMMENT 'Producto o servicio solicitado'," +;
"DET_CTD DECIMAL(09,3) NOT NULL DEFAULT 0.000 COMMENT 'Cantidad'," +;
"DET_UDM VARCHAR(03) NOT NULL DEFAULT '' COMMENT 'Unidad de medida'," +;
"DET_APL TEXT NOT NULL COMMENT 'Aplicación'," +;
"DET_UNI DECIMAL(09,2) NOT NULL DEFAULT 0.000 COMMENT 'Precio unitario'," +;
"DET_IMP DECIMAL(09,2) NOT NULL DEFAULT 0.000 COMMENT 'Importe'," +;
"DET_FDE DATE NOT NULL DEFAULT '0000-00-00' COMMENT 'Fecha de la entrada'," +;
"DET_ENT DECIMAL(09,3) NOT NULL DEFAULT 0.000 COMMENT 'Cantidad entregada'," +;
"PRIMARY KEY(DET_FOL,DET_PTD))" +;
"ENGINE = InnoDB COMMENT 'Detalle de órdenes de compra';"
El problema esta en el campo DET_FDE, al grabar esta vacio, con el valor por DEFAULT '0000-00-00' como
se ve en el siguiente texto, que al leerlo para imprimir es cuando tira el error
1 1 1 PRIMERA REFACCION 5000 PZS Almacén de refacciones 1.5 7500 0000-00-00 0
Espero haber explicado bien el problema
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- leandro
- Posts: 1770
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 49 times
- Been thanked: 12 times
- Contact:
Re: Una de fechas (SOLUCIONADO)
Armando buenas tardes como estas?
Como lo solucionaste?
Como lo solucionaste?
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
- Armando
- Posts: 3278
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 3 times
- Contact:
Re: Una de fechas (SOLUCIONADO)
Hola Leandro:
Ahí va la solución para evitar muchos dolores de cabeza.
Tenia yo definida la estructura de una factura en el campo D02_FECPAG de la siguiente manera
Obviamente cuando registraba yo la factura aún no existía una fecha de pago, el valor que
se grababa era el valor por deault 0000-00-00 por lo que cuando consultaba el registro me
tiraba el espantoso error antes mencionado.
La solución es simple, se debe definir el campo como NULL y sin valor por DEFAULT
Entonces cuando se graba el registro, el campo queda como NULL, de esta manera al hacer
la consulta ya no tira el error, solo debemos validar que el contenido no sea NULL cuando
hagamos uso del campo D02_FECPAG.
Espero quitar dolores de cabeza.
Saludos
Ahí va la solución para evitar muchos dolores de cabeza.
Tenia yo definida la estructura de una factura en el campo D02_FECPAG de la siguiente manera
Code: Select all | Expand
"D02_FECPAG DATE NOT NULL DEFAULT '0000-00-00' COMMENT 'Fecha del pago'," +;
Obviamente cuando registraba yo la factura aún no existía una fecha de pago, el valor que
se grababa era el valor por deault 0000-00-00 por lo que cuando consultaba el registro me
tiraba el espantoso error antes mencionado.
La solución es simple, se debe definir el campo como NULL y sin valor por DEFAULT
Code: Select all | Expand
"D02_FECPAG DATE NULL COMMENT 'Fecha del pago'," +;
Entonces cuando se graba el registro, el campo queda como NULL, de esta manera al hacer
la consulta ya no tira el error, solo debemos validar que el contenido no sea NULL cuando
hagamos uso del campo D02_FECPAG.
Espero quitar dolores de cabeza.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- leandro
- Posts: 1770
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 49 times
- Been thanked: 12 times
- Contact:
Re: Una de fechas (SOLUCIONADO)
Que bueno que lo hayas solucionado.
Muchas gracias por la información.
Muchas gracias por la información.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]