Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Campos numericos (https://www.clubdelphi.com/foros/showthread.php?t=60957)

Alexandro 20-10-2008 20:27:17

Campos numericos
 
Hola nuevamente:
Estoy trabahjando con tablas paradox y resulta que no si los campos numericos de ella (Numero, Long Integer, Float) son los apropiados para mi programa.
Yo quiero guardar numeros de cuentas, como sabes, esos son numeros bien larguitos.
Bien, eso es todo por ahora. Espero me hechen una mano en esto.
Gracias

Caral 20-10-2008 20:33:00

Hola
Segun veo:
1-Numero= entero
2-Long integer= entero largo
3-Float= numeros con decimales.
Si los numeros no van a tener decimales, me parece que la 1 o 2 estan bien.
Saludos

marcoszorrilla 20-10-2008 20:33:13

No sé si te refieres a cuentas bancarias o cuentas contables, en cualquier caso debieras declararlas como tipo texto.

Un Saludo.

Alexandro 21-10-2008 12:45:15

Gracias Caral y marcoszorrilla,:
No puedo declararlas tipo texto (Alpha) porque quiero hacer comparaciones y busquedas por rangos de cuentas. Uds saben que los númerios de cuentas bancarias son inmensos. Yo lo que necesito saber que tipo de datos debo guardar. Que no sea alpha.
Gracias

duilioisola 21-10-2008 13:22:48

Hasta ahora, en todos los programas que vi se almacenan las cuentas (bancasrias y contables) como texto.

Luego hay muchas maneras de buscarlas y compararlas.

- Todas tendrán el mismo largo, por lo que se pueden ordenar y buscar dentro de rangos, ademas de comparar fácilmente.

- Hay funciones como LIKE, que te permiten buscar dentro de un string:
SELECT CUENTA FROM TABLA_CUENTA WHERE CUENTA LIKE '%123%'
Todas las que contengan 123 (123456. 9912388, 654123)

SELECT CUENTA FROM TABLA_CUENTA WHERE CUENTA LIKE '123_123'
Todas las que contengan 123, luego un caracter y luego 123 (1231123,1232123,1233123,1234123)

SELECT CUENTA FROM TABLA_CUENTA WHERE CUENTA STARTING WITH '123'
Todas las cuentas que empiecen por 123

Si son cuentas bancarias, por lo general están divididas en partes (Banco, Sucursal, Digito de Control y Número de Cuenta) por ejemplo 2013 0306 12 12345678

Nota: con campos numéricos solo podrás buscar desde/hasta un rango y solo comparar si es mayor, menor o igual que otra

Lepe 21-10-2008 15:04:41

Creo te estás equivocando, ya te lo han comentado, así que tú allá. Una cuenta no es un número de 20 dígitos, en realidad hay que trocearlo para poder saber la entidad, el número de cuenta, el dígito de control... es decir, tendrás que crear varios campos en la tabla para identificar cada uno de los trozos.

No tengo delphi a mano, creo que sería Integer el tipo a usar, pero donde mejor lo verás es en la propia ayuda del Database desktop, donde te dice el límite de cada tipo de dato.

Ten en cuenta que si se trata de un numero, cada vez que quieras presentarlo en pantalla tendrás que ponerles ceros delante hasta completar su grupo de 2, 4, 10 caracteres o el que corresponda, y eso será una lata bien gorda.

Si lo declaras como alpha, al tiempo de guardar un dato introducido por el usuario le añades los ceros delante y esto te permite:
- ordenar en pantalla las cuentas perfectamente.
- realizar búsquedas sin problemas "where entidad > '0012' and entidad < '0100' "
- No tener que añadir ceros cada vez que presentas en pantalla / imprimes el número de cuenta.

Saludos

Alexandro 21-10-2008 17:21:09

Gracias por sus respuestas ya he resuelto las dudas gracias a Uds. Pondré los campos en Alpha.
Gracias


La franja horaria es GMT +2. Ahora son las 15:52:14.

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