![]() |
Recorrer Una Tabla O Dbgrid Para Validar Datos
Hola soy nuevo aqui en el foro, espero que me ayuden con una duda que tengo:
Estoy haciendo un sistema para un colegio en Delphi con MySql y estoy frenado con el modulo de facturacion, me explico: Cuando inscribo un estudiante el sistema me le genera los cargos educativos automaticamente.....y cuando voy al modulo de facturacion y llamo a dicho estudiante me tira los 11 cargos en un dbgrid ejemplo: cargoid-------------Descripcion------------Valor 001.......................Inscripcion.................1000 002.......................mes1.........................800 003.......................mes2.........................800 Dentro del formulario tengo un Edit llamado MONTOAPAGAR..entonces si el estudiante paga 1000 cuando le de a guardar me tiene que poner e valor del primer cargo en CERO. ahora, si el desea pagar 1600 cuando le de a guardar el sistema me tiene que poner el valor del primer cargo en CERO yel valor del segundo cargo en DOSCIENTOS..........NO SE SI ME DI A ENTENDER osea si el monto a pagar es mayor que el valor del primer cargo que lo reste y que vaya al otro registro y reste dicho valor con el valor que quedo en la primera operacion. |
Estas cosas no se suelen hacer así, se tiene otra tabla con los pagos.
Por ejemplo: alumno----fecha-----pago--- 1_____01.01.2011__1600 1_____01.02.2011___500 2_____03.01.2011__1000 3_____06.02.2011__2000 1_____04.03.2011___250 Entonces haces una suma de lo que debe pagar el alumno y una suma de esta tabla con los pagos que ha hecho, la diferencia es lo que debe. |
Cita:
Código:
cargoid-------------Descripcion------------Valor----Pagado-PendienteSaludos |
Por supuesto, era sólo por darle una idea a donpedro que hay que controlar todo ese asunto porque de la forma en que lo tiene pensado cada vez que alguien paga una factura ya no puede saber jamás cuánto pagó ni cuánto debía, ya que todo estará a cero.
|
Me Explico...
Entiendo lo que dicen..quiero confirmar que tengo dos tablas mas donde me guarda lo que va pagando junto con el numero de factura. Lo que me interesa saber es.....
Como puedo hacer para que cuando el estudiante pague 1600 me le ponga cero al primer cargo y siga verificando la siguiente fila y le vaya restando... porque Lo demas lo tengo.. tengo un campo pendiente y todo lo demas. |
De momento, amigo, revisa nuestra guía de estilo, no escribas todo en mayúsculas, eso en internet representa GRITAR.
|
me disculpo. ya lei la guia de estilo.
estoy utilizando el siguiente codigo pero no me ha dado resultado, porque la parte para cuando el monto que pague el estudiante sea mayor que el valor no se como manejarlo:
|
Cita:
Hola donpedro, puedes hacer algo como esto:
Saluditos |
Cita:
si introduzco 1500 el me coloca el primer cargo en cero y el segundo en 300 ya que el resto los 500 que sobraron al siguiente cargo....ahora: si vuelvo y busco al estudiante para realizar otro pago el sistema no reconoce que el primer cargo esta en cero y me da el siguiente error: no se puede encontrar la fila para su actualizacion: algunos valores han cambiado desde la ultima vez que se leyo. tendria que colocar una condicion para identificar que si b = 0 que vaya al siguiente registro. Gracias, Dios te bendiga |
Cita:
otra forma para no hacer tantas condiciones, es hacer una consulta que te traiga los registros que sumen el monto a pagar sin tomar en cuenta los que tengan valor 0, así solo recorres esos registros haces el update y tendrias solo dos condiciones. Saluditos |
Mil gracias caro
tu ayuda fue de muy buena utilidad, espero tambien poder compartir parte de mis conocimientos para ayudar a otros, de la misma forma que me ayudaste. Saluditos... |
| La franja horaria es GMT +2. Ahora son las 00:37:11. |
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