Generar una fecha a partir de otra
Hola experto. Espero me puedas ayudar.
Tengo una bd en MS Access 2007. La bd tiene 3 tablas: empeño, pagos y prenda. La tabla de empeño tiene un campo tipo fecha que se llama "fecha de empeño". Necesito que cuando se capture la fecha de empeño, se llene el campo "fecha de vencimiento" que pertenece a la tabla pagos. La fecha de vencimiento será de 30 días si el "tipo" (campo de la tabla prenda) es "metal" o de 90 días en otro caso.
Hasta el momento, tengo el sig. Código:
Option Compare Database
Private Sub fecha_de_empeño_AfterUpdate()
Dim dbs As Database
Dim rstEMPEÑO As DAO.Recordset
Dim rstPAGOS As DAO.Recordset
Dim rstPRENDA As DAO.Recordset
Dim fechaINICIAL
Dim tipo
Dim fechaVencimiento
Set dbs = CurrentDb
Set rstEMPEÑO = dbs.OpenRecordset("select * from EMPEÑO")
rstEMPEÑO.MoveLast
Set rstPAGOS = dbs.OpenRecordset("select * from PAGOS")
rstPAGOS.MoveLast
Set rstPRENDA = dbs.OpenRecordset("select * from PRENDA where PRENDA.codigo = EMPEÑO.codigo")
rstPRENDA.MoveLast
fechaINICIAL = rstEMPEÑO("fecha de empeño")
tipo = rstPRENDA("tipo")
fechaVencimiento = rstPAGOS("fecha de vencimiento")
If tipo = "metal" Then
fechaVencimiento = fechaINICIAL + 30
Else
fechaVencimiento = fechaINICIAL + 30 * 3
End If
End Sub
Pero al modificar la fecha de empeño me indica el sig. Error:
"Se ha producido el error '3601' en tiempo de ejecución. Pocos parámetros. Se esperaba 1". Me lo indica en la sig línea:
Set rstPRENDA = dbs.OpenRecordset("select * from PRENDA where PRENDA.codigo = EMPEÑO.codigo")
No entiendo a qué se debe el error.
¿Puedes ayudarme?
Muchas gracias
Saludos
Tengo una bd en MS Access 2007. La bd tiene 3 tablas: empeño, pagos y prenda. La tabla de empeño tiene un campo tipo fecha que se llama "fecha de empeño". Necesito que cuando se capture la fecha de empeño, se llene el campo "fecha de vencimiento" que pertenece a la tabla pagos. La fecha de vencimiento será de 30 días si el "tipo" (campo de la tabla prenda) es "metal" o de 90 días en otro caso.
Hasta el momento, tengo el sig. Código:
Option Compare Database
Private Sub fecha_de_empeño_AfterUpdate()
Dim dbs As Database
Dim rstEMPEÑO As DAO.Recordset
Dim rstPAGOS As DAO.Recordset
Dim rstPRENDA As DAO.Recordset
Dim fechaINICIAL
Dim tipo
Dim fechaVencimiento
Set dbs = CurrentDb
Set rstEMPEÑO = dbs.OpenRecordset("select * from EMPEÑO")
rstEMPEÑO.MoveLast
Set rstPAGOS = dbs.OpenRecordset("select * from PAGOS")
rstPAGOS.MoveLast
Set rstPRENDA = dbs.OpenRecordset("select * from PRENDA where PRENDA.codigo = EMPEÑO.codigo")
rstPRENDA.MoveLast
fechaINICIAL = rstEMPEÑO("fecha de empeño")
tipo = rstPRENDA("tipo")
fechaVencimiento = rstPAGOS("fecha de vencimiento")
If tipo = "metal" Then
fechaVencimiento = fechaINICIAL + 30
Else
fechaVencimiento = fechaINICIAL + 30 * 3
End If
End Sub
Pero al modificar la fecha de empeño me indica el sig. Error:
"Se ha producido el error '3601' en tiempo de ejecución. Pocos parámetros. Se esperaba 1". Me lo indica en la sig línea:
Set rstPRENDA = dbs.OpenRecordset("select * from PRENDA where PRENDA.codigo = EMPEÑO.codigo")
No entiendo a qué se debe el error.
¿Puedes ayudarme?
Muchas gracias
Saludos
Respuesta de manuelpacha
1