Access - Listado de fechas de pago

 
Vista:

Listado de fechas de pago

Publicado por Aintz (5 intervenciones) el 27/07/2006 21:54:58
Hola a todos!

Mi problema es el siguiente: he hecho una bbdd de clientes. Cada cliente puede tener varios contratos diferentes, con un modo de pago diferente: mensual, trimestral, semestral o ejercicio. Estos contratos tienen una fecha de inicio y una fecha final. Según el "modo de pago" que tengan necesito ver en un "informe" todas las fechas de pago comprendidas entre la fecha de inicio y la fecha final.

Aqui vá un ejemplo:

CLIENTE CONTRATO F. INICIO F. FINAL CAPITAL MODOPAGO
Pepito 150 10/05/2000 10/05/2007 350€ trimestral

Me han dicho que lo tendria que hacer con un bucle "do while", pero no entiendo mucho de código... No sé puede hacer con una consulta?

Muchas gracias por vuestra atención.

Saludos.

Aintz
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Listado de fechas de pago

Publicado por Rodolfo (463 intervenciones) el 27/07/2006 22:04:49
En que campo y de que manera ingresas las fechas de pago?. Creo que si, con una consulta y la funcion "entre" no tenes que tener problema. Te repito, no me queda claro donde y de que forma ingresas las fechas de pago.

Rodolfo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por Aintz (5 intervenciones) el 27/07/2006 22:09:25
He hecho subfomrulario en el que ingreso la fecha de inicio y la fecha final y el modo de pago, pero no las de pago...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por 2pl (773 intervenciones) el 27/07/2006 22:05:19
En una consulta pones el campo "fecha de pago" y en criterios pones
entre [fechainicio] y [fechafinal]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por Aintz (5 intervenciones) el 27/07/2006 22:12:35
Ya, pero, por ejemplo, tengo lo siguiente:

F. Inicio: 10/05/2000
F. Final: 10/05/2007
Forma de pago: trimestral

Necesito ver las siguientes fechas de pago, que serían segun el modo de pago cada tres meses:

10/05/2000, 10/08/2000, 10/11/2000, 10/02/2001, ...... etc hasta 10/05/2007
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por Chea (1015 intervenciones) el 27/07/2006 22:32:22
Créate una tabla Números con un campo llamado Número que tenga números consecutivos desde 1 hasta una cifra suficiente, por ejemplo, 366.

Ahora con esos números consecutivos, puedes hacer una consulta así:

SELECT DateAdd("m",([Número]-1)*3,[fecha Inicial]) AS FechaPago
FROM Números
WHERE (((DateAdd("m",([Número]-1)*3,[fecha Inicial]))<=CVDate([Fecha final])))
union select [fecha final] as FechaPago from números;

Pruébala (quizás tengas que corregir algo) y adáptala a tu gusto.

Saludos.
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por Aintz (5 intervenciones) el 27/07/2006 23:40:02
OK 2PL! Disculpa, Chea, no entiendo. Antes que nada comentarte que no domino mucho de access.

He creado una tabla llamada "números" tal y como me has comentado y he introducido números consecutivos. El paso siguiente seria hacer una consulta, pero con los siguientes campos?

Cliente F.Inicio F. Final Capital ModoPago Números

Lo de la instrucción Select.... etc lo he puesto en el modo diseño de la consulta, pero me dá error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por 2PL (773 intervenciones) el 27/07/2006 23:12:01
Lo pones un poco dificil, yo haria lo siguiente siempre que tengas limitado el numero de pagos

PRIMERPAGO:IIF([FechaInicio]+90<=[FechaFinal];[FechaInicio]+90;0)

SEGUNDOPAGO:IIF([FechaInicio]+180<=[FechaFinal];[FechaInicio]+180;0)

TERCERPAGO:IIF([FechaInicio]+270<=[FechaFinal];[FechaInicio]+270;0)

CUARTO:IIF([FechaInicio]+360<=[FechaFinal];[FechaInicio]+360;0)

Hay otras formas de hacerlo pero ya seria por código, y supongo que también habrá algún gurú del access quetenga otra fórmula.

También podrias calcular el numero de trimestres entre una fecha y otra con la función DateDiff("t", FechaInicio, FechaFin) e ir creandote los campos segun el numero de trimestres

PRIMERPAGO:IIF(DateDiff("t", FechaInicio, FechaFin)>=1;[fECHAiNICIO]+90;0) y asi hasta el numero de pagos que consideres como máximo.
SEGUNDOPAGO:IIF(DateDiff("t", FechaInicio, FechaFin)>=2;[fECHAiNICIO]+180;0) y asi hasta el numero de pagos que consideres como máximo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por Aintz (5 intervenciones) el 27/07/2006 23:23:16
Esto también parece una buena idea, pero donde lo pongo? en criterios de la consulta de pagos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listado de fechas de pago

Publicado por 2PL (773 intervenciones) el 27/07/2006 23:27:27
Lo que te dice Chea es más profesional....
Cada pago es un campo que debes poner en la consulta y que luego podrás utilizar en el informe.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar