Tienes razón, es un error ya está corregido, si no quieres esperar a
la nueva versión cambia la función e incorpórala a la lib.
El cambio quedaría así:
cRet := "DECIMAL( " + StrNum( nLen ) + ", " + ;
StrNum( nDec ) + " )"
Avísame si tienes problemas ;-)
--- En eagle1@yahoogroups.com, "lubsys" <lubin@...> escribió:
>
> Hola Manu
>
> Soy lubin, y deseo hacerte una connsulta pues encontre un
> inconveniente en la definicion de los campos numericos,, quizas un
> problema de concepto... que seria bueno aclarar ...
>
> Al usar el Eagle1 y crear una tabla con con oTb:CreateTable(..)
>
> si yo defino (en clipper con dbfs. ) Precio Len=8, Dec=2
> Asumo que podemos poner valor 12345.78 es decir la longuitud total
> del precio es 8 Caracteres ( 5 enteros y 2 decimales, pues el punto
> decimal tambien ocupa espacio)
>
> Por lo que he leido en MySql tambien tiene la misma defincion al
> respecto. es decir al hacer un CREATE TABLE LISTAS Precio DECIMAL
> (8,2) se entiende de longuitud maxima de 8 digitos y maximo de 2
> decimales.
>
> Pero al crear la Tabla con oTb:CreateTable(..)
>
> Poniendo la estructura igual con Precio (8,2) resulta que te crea
> una tabla con el campo de numerico de Tamaño 6 con 2 decimales, osea
> que solo podre poner 123.56, revisando tu funcion CreateTable al
> armar la instruccion SQL.. en la funcion _Coldefine() para los campos
> numericos armas la instruccion:
>
> DECIMAL( xLEN-xDec,xDec ) en la instruccion,,
> generando esta distorsion.. (si asi lo podriamos llamar), quizas
> habria que hacer alguna correccion
>
> Espero tus comentarios
>
> Lubin
>