![]() |
Operaciones Matematicas dentro de un DBGRID
Hola Compañeros del foro, regreso con una duda, tengo un DBgrid que contiene los campos, ref, articulo, cantidad, costo, itbis, valor, al ingresar un articulo al dbgrid le doy un focuscontrol al campo cantidad para que el usuario ingrese la cantidad a ingresar pues bien aqui viene el asunto cuando el usuario luego de ingresar la cantidad tiene que ingresar el costo del articulo, quisiera que calculara los valores de itbis y valor automaticamente, se puede? estoy trabajando con access+zeos+clientdataset.
Saludos |
Hola
Tienes que hacer una consulta sql a la tabla en cuestión, con eso te saldrá el dato que necesitas, nada tiene que ver en esto el dbgrid. Saludos |
Hola Caral, gracias por tu sugerencia, lo entiendo perfectamente, pero lo que no sabria hacer es en que evento tendria que poner, por ejemplo si el usuario esta en el campo o columna costo e ingrese el valor y que al darle enter o tab me haga los calculos. espero no ser puntilloso:D.
Saludos. |
Hola
Es un poco difícil sin ver la pantalla indicarte en que evento colocar el calculo. Yo así sin ver, lo colocaría en el evento OnExit de la celda del dbgrid, así, cuanto salga de este hará el calculo, si se equivoco por cualquier razón, siempre puede rectificar. Otra forma seria por medio de un boton, bueno yo uso mucho este sistema, asi las personas que usan el programa primero ven lo que hicieron y si esta bien, hacen lo que sea necesario. Espero te guie un poco. Saludos |
Vale, Gracias Caral, ire probando a ver, cualquier cosa te comento.
Saludos. |
Hola
Con gusto, si se te hace dificil, me pasas el programa con la base de datos y lo vemos. Lo que me parece curioso es que uses zeos con access, por que no ADO. Saludos |
Cita:
Saludos. |
Hola
Zeos= muy bueno, rapido y efectivo. Conectar por odbc=:rolleyes: No te compliques con access, ADO, eso sin dudar, pruebalo, veras la diferencia. Yo he hecho pruebas de rapidez y ado, es mas rapido, por ser directo, Pruebalo, es interesante, ademas se aprende. Zeos para mysql, esta muy bien. Bueno, es solo mi opinion. Saludos |
Puedes usar el evento OnCalcFields del dataset origen, allí haces las multiplicaciones y estableces el valor de los campos involucrados.
Ten en cuenta que al principio las cajas pueden tener el valor cero (en caso de divisiones) para no obtener excepciones. Saludos |
Hola!
Si me equivoco me lo dicen: 1. ADO es nativo para conectar con Access y MS SQLServer. Usa directamente el motor de datos JET de MS. Luego entonces No tiene caso usar ninguna otra cosa para este tipo de base de datos. 2. Zeos tengo entendido -porque no los uso- es una suite de componentes para acceso a datos y esta especialmente diseñado para MySQL. Luego entonces es el mismo caso de ADO. |
Cita:
en eso tienes razon. Cita:
Saludos |
Bueno estoy haciendo los calculos de esta manera pero no me muestra los resultados aqui el codigo:
que estoy haciendo mal? Saludos. |
que resultados debe mostrarte??
en que momento editas o insertas en zTemp donde debe mostrarte estos resultados?? |
Hola
No se muy bien lo que estas haciendo pero hay varias cosas. No se por que usar int, cuando lo optimo es usas float. Para mi el error podria estar aqui: Pruebalo nada se pierde. Yo lo hago asi en algun programa y me funciona, en tal caso cambia el float, pero sigue el proceso. Saludos |
Disculpa Caral por la Tardanza estaba en otros asuntos, volviendo al tema, mira hice tu sugerencia y aun asi no me muestra el resultado en el campo Valor en el DBgrid, ejemplo puse cantidad(integer) = 5 multiplicado por costo(double) = 185.00 se supone que valor(double) debe ser 925.00 y deberia de mostrarmelo en el dbgriid y eso es lo que no hace.??
Saludos. |
Hola
Aqui muestras un ZInsertar, que ve en la tabla y un ZTemp que hace la comparacion. Donde esta el ZQuery que muestra el DBGrid.?, cual es ? A ver si lo entiendo mejor. Saludos |
ZTemp ¿es una consulta o una tabla?. ¿El grid está enlazado a ZTemp o a otro dataset?.
|
Hola Caral, ZInsertar(Query) es la tabla de articulos donde voy a sacar los datos el mismo y ZTemp es una tabla temporal donde pongo los detalles de los articulos que luego se van a grabar en otra tabla y se eliminan al momento de grabar. Ztemp esta enlazado al DBGrid.
![]() Saludos |
La verdad a simple vista no le veo la falla, prueba colocar un breakpoint en la asignacion y verifica el valor de los edit...
cuentanos que resulto |
Cita:
http://img124.imageshack.us/img124/2...akpointly2.jpg |
| La franja horaria es GMT +2. Ahora son las 10:24:47. |
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