Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Agregar Resultado De Calculo A Un Campo Automaticamente?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
100

Buenas gente, por primera vez estoy usando un datasource, databrowser y controlesdatas

como se hace para ingresar en un campo x el resultado de un calculo  automáticamente.

por ejemplo una fuente de alimentación de pc de 500w sale 700 pesos y hay en el taller 3 pues bien 700 por 3 es igual a 2100 pesos, esa cantidad guardarla en un campo x al guardar los datos o editarlos , como se hace?


otra pregunta: la tabla que hice es autoincremental y puse un controldata para el id, pero te permite editarlo cuando no debería, como se hace para bloquear la edición de un controldata?
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
No uso esos controles, pero imagino que como todos: Para no editarlo la propiedad ReadOnly a true o Enabled a false.

Para calcular sumas y totales utiliza el Evento Change de la cantidad.

Sobre eso un detalle:

No guardes el resultado de esa multiplicación en la base de datos. No sólo no es necesario si no que es fuente de errores. Te puede parecer lógico, pero no lo es. Si tienes el precio y tienes la cantidad, implícitamente ya tienes el total. En cualquier grid, reporte o formulario no donde lo necesites lo obtienes con un código absolutamente simple y nunca tendrás errores. Si, por el contrario, guardas la suma en un campo que calcula un formulario, siempre te puede ocurrir que los valores se cambien por otra vía (otro formulario, que el programa te aborte en un momento raro, cortes de luz, etc).
En otras palabras: Si tienes el 2 y el 2 ya tienes el 4.

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
Entonces lo correcto es por decirlo de un modo mantener solo los operandos en la base de datos y realizar la operación (en este caso multiplicación) solo cuando sea necesaria?
 



 
Lykan - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
Efectivamente. Así no hay nunca errores en ello. Si almacenas el valor en un campo, la posibilidad de descoordinación entre los datos reales (eliminado de alguna fila, añadido incompleto de otra, etc. etc.) es muy grande.
Si no quieres hacer el cálculo cada vez, puedes dejarle el trabajo a la base de datos creando una vista. Para Mysql sería algo así:

CREATE VIEW Totales AS SELECT count(micampo1) AS Total1, sum(micampo2) AS Total2 FROM mitabla


El resultado sería una vista (que se maneja igual que una tabla) en la te aparecerán los totales de verdad tal y como lo harían si los hubieses grabado.

Para consultarla:

SELECT Total1, Total2 FROM Totales


Saludos.
 



 
última edición por shordi el Domingo, 26 Abril 2015, 10:22; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
Añado algo más:

Si quieres almacenar subtotales, puedes hacerlo usando la potencia de SQL:
Por ejemplo, para hacer inventario de materiales:

CREATE VIEW inventario AS SELECT material, count(material) AS disponibles FROM materiales GROUP BY material


Con esto tendrás una vista que te hace un inventario tal y como si tú lo mantuvieses... y sin errores.
 



 
última edición por shordi el Domingo, 26 Abril 2015, 10:30; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
Shordi:

+1

Pues si que son potentes las vistas!!!
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
Hay gente que con SQL hace cosas que yo ni me atrevía a imaginar que se pudieron hacer...    
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
He leído que utilizas los controles datasource, databrowser y controlesdatas. Estoy haciendo una aplicación 100% de base de datos y no encuentro información ni ejemplos de su utilización y me imagino que facilitarán la interactuación con una base de datos. Soy algo novato en gambas. Gracias.
 



 
frajanic - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Agregar Resultado De Calculo A Un Campo Automaticamente? 
 
Busca en los ejemplos de gambas o en la Granja de gambas si usas la versión 3.7. Hay un ejemplo de su uso.
Personalmente no los utilizo, que prefiero controlas las cosas más por mi cuenta, pero seguro que hay gente que te puede ayudar con ellos.

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron