Inicio > Microsoft Access > juanito01 > campo calculado de tipo fecha/hora

campo calculado de tipo fecha/hora

Experto:
Usuario:
Fecha: 02/12/2008
Valoración: (4,00 sobre 5) Categoría: Microsoft Access
02/12/2008
yina, usuario preguntando en Microsoft Access
Usuario
hola, ahi va mi pregun de access 2000. tengo una bd de clientes con una tclientes con varios campos, a mi lo que me interesa son los campos relacionados con los pagos de recibos mensuales. tengo un campo Fecha1ºRecibo(tipo Fecha) y otro NumMensualidades(numérico), pues quiero calcular automaticamente el campo UltimoRecibo(tipo Fecha)sumando los meses que son las mensualidades.
Por supuesto, si en el formulario o en el campo en la tabla en "valor predeterminado" pongo = Fecha1ºRecibo + NumMensualidades o = Fecha1ºRecibo + (NumMensualidades * 30) access lo calcula al pie de la letra y no sale la fecha exacta.
Probé a utilizar la función implementada FECHA.MES(campofecha;meses) que lo calcula por lo visto ella sola y bien, pero no me lo hace y la ayuda dice que suele ser porque no tienes instalada una libreria (m___.dll).Mire y si que estaba, por si acaso la volvi a meter desde el CD de instalación del office, sobreescribiendola y nada.
Así que he pensado hacerlo por codigo, pero no se muy bien como. ¿Me podrías echar una mano?
Espero haber sido suficientemente clara. Gracias por adelantado. Un saludo.
02/12/2008
yina, experto respondiendo en Microsoft Access
Experto
Hola: Mira a ver si te sirve algo como esto...

Function fecha_fin() As Boolean
Dim mibase As DAO.Database
Dim mirs As DAO.Recordset
Dim sSQL As String
Dim fechaini As Date
Dim fechafin As Date
Dim incremento As Integer

On Error GoTo trat_error
Set mibase = CurrentDb()
sSQL = "select * from tabla1"
Set mirs = mibase.openrecordset(sSQL)
mirs.MoveFirst
While Not mirs.EOF
fechaini = mirs.Fields("inicioB")
incremento = mirs.Fields("c1")
fechafin = DateAdd("m", incremento, fechaini)
mirs.Edit
mirs.Fields("finB") = fechafin
mirs.Update
mirs.MoveNext
Wend
fecha_fin = True
Exit Function
trat_error:
fecha_fin = False
End Function

salu2
02/12/2008
yina, usuario preguntando en Microsoft Access
Usuario
gracias sobre todo por la rapidez, lo adapto y a ver ke pasa. aio
Enlaces patrocinados