Se puede hacer con un sql o tengo que usar un recordset ?

01/05/2010 - 00:21 por Juan Carlos | Informe spam
Tengo este problema,
Mes Cuota Pago
1 20
2 25
3 40

Supongamos que ingreso 50 como Pago
Se puede hacer mediante una instruccion sql que me deje el siguiente
resultado ?
Mes Cuota Pago
1 20 20
2 25 25
3 40 5

O tengo que usar un recordset e ir prorateando el valor a medida que me
muevo por cada registro.
Gracias por cualquier sugerencia.

Preguntas similare

Leer las respuestas

#1 Juan M. Afan de Ribera
01/05/2010 - 14:31 | Informe spam
Perdona, pero no he entendido bien cuál es el razonamiento. Si ingresas 50,
por qué tiene que quedar como indicas? A qué te refieres con ir
prorrateandoel valor a medida que te mueves por cada registro?

Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"Juan Carlos" wrote:

Tengo este problema,
Mes Cuota Pago
1 20
2 25
3 40

Supongamos que ingreso 50 como Pago
Se puede hacer mediante una instruccion sql que me deje el siguiente
resultado ?
Mes Cuota Pago
1 20 20
2 25 25
3 40 5

O tengo que usar un recordset e ir prorateando el valor a medida que me
muevo por cada registro.
Gracias por cualquier sugerencia.
.

Respuesta Responder a este mensaje
#2 Juan Carlos
01/05/2010 - 15:17 | Informe spam
Juan te paso a explicar.
El tema es que poner 50 seria un valor que se carga como pago, entonces
debo tomar desde el primer mes e ir con esos 50 descontando las cuotas
que le alcance en este caso un ejemplo 50 $
Entonces deberia dar como resultado lo siguiente
Mes Cuota Pago
1 20 20
2 25 25
3 40 5



Con otro ejemplo si hubiese puesto 35 $ por decir, quedaria de la
siguiente forma.
Cubriria la cuota 1 35-20 me sobran 15 para la cuota 2
Mes Cuota Pago
1 20 20
2 25 15
3 40



Espero haberme explicado mejor.
Gracias


El 01-05-2010 09:31 a.m., Juan M. Afan de Ribera escribió:
Perdona, pero no he entendido bien cuál es el razonamiento. Si ingresas 50,
por qué tiene que quedar como indicas? A qué te refieres con ir
prorrateandoel valor a medida que te mueves por cada registro?

Respuesta Responder a este mensaje
#3 Patxi Sanz
01/05/2010 - 17:36 | Informe spam
Hace tiempo preparé este ejemplo, a ver si te sirve:

-
http://cid-143f0ffa33a574e2.skydriv...idades.rar

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Respuesta Responder a este mensaje
#4 raipon
01/05/2010 - 20:55 | Informe spam
Hola, siempre es recomendable usar sql en vez de recordsets, pero la
instrucción update de Access, tiene muchas limitaciones (si la comparamos
con sql server, mysql, oracle, etc). Así que al final para evitar el error :
'esta operación debe utilizar una consulta actualizable ...' no hay más
remedio que embeber dentro del update una consulta agregada de dominio, con
lo cual, seguramente estamos utilizando recordsets (disfrazados,
encapsulados, ...). Pero en fin, aquí tienes un ejemplo, comprueba si tienes
mejor rendimiento que manejando un recordset :

Update Ejemplo
Set Pago IIf(Nz(DSum('Cuota', 'Ejemplo', 'Mes <=' & Mes),0) <= Ingreso,
Cuota, Ingreso- DSum('Cuota','Ejemplo','Mes<' & Mes))

En este caso la tabla utilizada se llama 'Ejemplo', y 'Ingreso' es un
parámetro.

Adios, un saludo.
Respuesta Responder a este mensaje
#5 Patxi Sanz
02/05/2010 - 15:16 | Informe spam
Lo que ocurre es que los que no llegamos a tu nivel de SQL, tenemos que
hacer trampas para conseguir lo mismo que tú :-)

Un saludo,


Patxi Sanz
Tudela (NA)
Dirección "corta": http://www.pasa.es.tt/
Dirección "completa": http://users6.jabry.com/patxisanz/
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida