Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Para retomar las prácticas de bases de datos con sqlite3
#1

Buenas!.

Como es algo que se necesita para muchas aplicaciones serias, necesito no olvidar estos temas.
Ayer estuve retomando un poco esto, con una aplicación que gestionaba un refugio de animales,
sobre todo la creación de consultas y ejecución dando un resultado en un Grdiview.

Cambié la base de datos y la convertí para llevar la administración de empleados.
Me encontré dos problemas. Fechas para los nacimientos y salarios en euros.

Para las fechas lo solucioné. Usé un valuebox con el tipo date. Me resulta un poco extraño cuando inserto las fechas
en el control. Teniendo que insertar la barra cuando lo hago manualmente. Es que me gusta hacerlo manualmente,
se supone que es más rápido.

Ahora os cuento el tema de la moneda, el euro. Había pensando en otro valuebox con el tipo currency, pero me dio
más problemas que beneficio. Si, se ve bien en el valuebox pero a la hora de convertirlo es algo complicado.
En parte parece una cadena, hay espacios y el símbolo de la moneda.
Ejemplo: " 100,50€ "

Y Sqlite soporta Float, pero no Currency. Usando una caja de texto me quedó así, no he usado alineación en todos los controles.

[Imagen: ZHl5QfT.png]

Vale, puedo eliminar el borde. ¿ Vosotros no usáis un valuebox para esto ?.


Cuando obtenía el valor del registro y quería mostrarlo (que era un tipo float), lo convertía a texto y concatenaba el carácter del euro.

Me he encontrado un problema en la salida de consultas. Que no se muestra como moneda, si con su coma. Uso el evento Data
y no veo nunca que llegué a la columna donde se encuentra el campo salario. Aunque se muestra.

Voy a subiros el ejemplo para ver que me podéis decir. Ojo, que crea una base de datos en el directorio Home.
A ver si vosotros veis mejor el problema.

Todo lo que sea consejos y ayudas para aprender se agradece.

Saludos


Archivos adjuntos
.gz ControlDeEmpleados-0.0.1.tar.gz Tamaño: 14.59 KB  Descargas: 1

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#2

Esta es la salida de la consulta. En este caso un solo registro.

[Imagen: x7cKio0.png]

Es cosa del formulario Consulta. Saber cuando llega al campo salario y concatenar el valor con "€"

Vaya tela. Como el formulario no abarcaba el campo salario  (la visión del GridView)  no se mostraba en el evento Data!.
El problema radicaba en el evento Activate del formulario consulta. Al mover la barra de desplazamiento del Gridview fueron mostrándose los otros campos
en la sentencia de test con Print.

GAMBAS
  1. Public Sub grdConsulta_Data(Row As Integer, Column As Integer)
  2.  
  3.   $rData.MoveTo(row)
  4.  
  5.   Print grdConsulta.Columns[column].Text
  6.  
  7.   grdConsulta.Data.Text = Str($rData[grdConsulta.Columns[Column].text])
  8.   grdConsulta.Data.Background = Color.RGB((Row Mod 31) * 8, (Row Mod 17) * 15, (Row Mod 13) * 21)
  9.   grdConsulta.Data.Foreground = Color.White
  10.  



Ejemplo:

[Imagen: cxd8JL7.png]
Toca expandir el tamaño y concatenar.

Falta de costumbre del Evento Data y lo que crea Activate.

Saludos

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#3

Cambia las líneas 46 y 110 a
GAMBAS
  1.  grdTabla[nfilas, 5].Text = Format(HResul!salario, "###,##0.##")



A petición del compañero Alessandri, estoy trabajando en un control derivado de ValueBox que tiene que ver con este tema. En unos días (Cuando la familia me deje acceso a mi ordenador, o sea el año que viene) lo presentaremos en sociedad. Lo mismo te interesa.

Saludos

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • Shell
    ¡Gracias!
#4

(29-12-2022, 14:18)Shordi escribió:  En unos días (Cuando la familia me deje acceso a mi ordenador, o sea el año que viene)

Que bueno, te quitan el ordenador. Big Grin

[Imagen: nNUQ2na.jpg]

Ah, es formato moneda, faltaba el símbolo "$".

GAMBAS
  1.  grdTabla[nfilas, 5].Text = Format(HResul!salario, "$###,##0.##")



Saludos

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)