Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Ingresar Numeros flotantes a Access (https://www.clubdelphi.com/foros/showthread.php?t=43465)

Juan Reyes 11-05-2007 20:13:49

Ingresar Numeros flotantes a Access
 
Buen día a todos.

Solicito de su apoyo para saber de que manera puedo ingresar numeros flotantes a una tabla en access ya intente colocando el campo como simple, doble y decimal y con la siguiente sentencia:

Código Delphi [-]
t_cond_operativasct.fieldbyname('copau1').asfloat:=strtofloat(copau1.text);

:confused: Pero me marca error al correr la aplicación en el momento de almacenar el campo con el siguiente mensaje resumido: actualmente tengo un entero corto, siendo que el numero es de tipo flotante.

Gracias por su tiempo y apoyo.:)

marcoszorrilla 11-05-2007 20:23:11

No acabo de entender, no tendrás un AdoTable con un campo persistente de tipo entero que luego has modificado en Access? En este caso debes eliminar el campo del AdoTable y volverlo a crear, pues sino persistiría el tipo anterior y por eso es posible que te arroje el error que indicas.

Un Saludo.

Juan Reyes 11-05-2007 21:24:01

Es un Tedit
 
El objeto que estoy utilizando es un TEdit y hace referencia a un TTable. Ya elimine el campo y vovli a crearlo con el mismo nombre. He de estar haciendo algo mal. Espero tus comentarios. Gracias de antemano.

marcoszorrilla 11-05-2007 22:03:03

Suponiendo como dices que el campo está creado como numérico simple o doble y como no das más datos pueden ocurrir dos cosas:

1:No pones la tabla en modo inserción antes de intentar grabar el dato.
Código Delphi [-]
Mi_Ado_Tabla.Insert;
2: El valor que contiene el Tedit no es válido

Código Delphi [-]
Try
StrToFloat(Edit1.Text;
Except
ShowMessage('El Valor introducido no es válido');
end;

Un Saludo.

Juan Reyes 11-05-2007 22:51:14

Es la segunda opción
 
Si fíjate que leyendo tu comentario, acuerdo contigo con la segunda opción, el tipo de dato que se ingresa al TEdit es inválido.

Te comento también que, cuando lo tenia identificado el tipo de dato como entero desde la misma Base de Datos no me causa ningun problema y almacena el dato, por lo que con esto está definido que la BD está en modo de inserción.

Lo que pasa es que este campo, muchas veces los datos son con decimales, al cambiar el tipo de dato en la BD como simple, doble o decimal, me despliega el mensaje de error que te habia comentado.

Gracias por tu tiempo nuevamente y Gracias por tu apoyo.

marcoszorrilla 11-05-2007 22:52:44

Bueno entoncés el problema será el separador decimal, el que estás utilizando no es correcto.

Un Saludo.

Juan Reyes 18-05-2007 17:00:40

Ya valide los campos
 
Hola amigo, la demora fue por la validación del campo al introducir únicamente números flotantes, pero pido de tu apoyo incondicional para poder dar seguimiento a esta otra problemática.

Al momento de grabar el flotante en mi base de datos aunque ya esta de tipo simple me sigue marcando error indicandome que actualmente tengo un numero entero corto y se essta esperando un flotante.

Entre en la captura directa a la tabla en access e ingrese el numero con el sepradador primero con coma (,) y no lo acepta, posteriormente con punto(.), esto para saber que tipo de dato es el que va a aceptar. Asimismo lo probe ya ejecutando mi programa con el separador punto (.) y me sigue marcando este problema.

Gracias por tu tiempo y apoyo.:)

marcoszorrilla 18-05-2007 20:28:11

Me da la impresión que el problema viene dado porque tenías un campo persistente en el Ttable o AdoTable que en su momento era entero, no es suficiente con modificar el campo en la Tabla, vete el al Ttable o Adotable y elimina este campo de la lista y vuélvelo a añadir y desaparecerá el problema.

Un Saludo.

Juan Reyes 21-05-2007 21:45:44

Exacto gracias por tu apoyo y tiempo.
 
Muchas gracias está resuleto el problema. Fíjate que habia eliminado todo el Ttable e insertar uno nuevo, pero seguia marcando el problema, únicamente elimine el campo únicamente y lo volvi a insertar, tal y como me comentaste. Y todo OK.

Gracias y buena tarde.:)


La franja horaria es GMT +2. Ahora son las 20:35:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi