Hola a todos,
estoy intentando asignar la fecha del día al campo fecha de un formulario cuando es un nuevo registro.
La macro la asigno al evento "Tras el cambio de registro" .
La macro es
Sub Fechadia (Evento)
Dim txtFecha As Object
If Evento.Source.IsNew Then
txtFecha = Evento.Source.getByName("Fecha")
txtFecha.Date = Val( Format( Now, "DDMMYY" ) )
End If
End Sub
al pulsar nuevo registro surge el error:
Error de ejecución de BASIC
Se ha producido una excepción
Type: com.sun.star.container.NoSuchElementExceptionMessage.
en la línea :
txtFecha = Evento.Source.getByName("Fecha")
Gracias
[Resuelto] Error de excepción en "Evento.Source.getByName()
[Resuelto] Error de excepción en "Evento.Source.getByName()
Última edición por Jordizen el Jue Ene 27, 2011 11:01 pm, editado 1 vez en total.
OpenOffice 3.2 en Ubuntu 10.04
Re: Error de excepción en "Evento.Source.getByName()
Hola,
Prueba con esta macro, a mi no me da problemas. Le debes asignar la primera macro, desde donde llama a la segunda.
Sub FechaActual(Event As Object)
Dim oForm As Object
Dim oFecha As Object
oForm=Event.Source
If oForm.IsNew Then
oFecha=oForm.GetByName("Fecha")
oFecha.BoundField.UpdateDate(fFechaBD(Now))
End If
End Sub
Function fFechaBD(Fecha As Date) As com.sun.star.util rem.Date
Dim FechaBD As New com.sun.star.util.Date
FechaBD.Year=Year(Fecha)
FechaBD.Month=Month(Fecha)
FechaBD.Day=Day(Fecha)
fFechaBD=FechaBD
End Function
Saludos
Prueba con esta macro, a mi no me da problemas. Le debes asignar la primera macro, desde donde llama a la segunda.
Sub FechaActual(Event As Object)
Dim oForm As Object
Dim oFecha As Object
oForm=Event.Source
If oForm.IsNew Then
oFecha=oForm.GetByName("Fecha")
oFecha.BoundField.UpdateDate(fFechaBD(Now))
End If
End Sub
Function fFechaBD(Fecha As Date) As com.sun.star.util rem.Date
Dim FechaBD As New com.sun.star.util.Date
FechaBD.Year=Year(Fecha)
FechaBD.Month=Month(Fecha)
FechaBD.Day=Day(Fecha)
fFechaBD=FechaBD
End Function
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Error de excepción en "Evento.Source.getByName()
Hola...
La macro que te paso mi amigo Ramon, funciona perfecto, solo toma en cuenta que de esa forma, actualizaras siempre el campo nuevo a la fecha actual, en cuanto se ejecuta la línea oFecha.BoundField.UpdateDate(fFechaBD(Now)) el valor se guarda en la base de datos...
Para el error especifico que mencionas, asegurate de que el nombre que estas usando, sea efectivamente el del control donde quieres mostrar la fecha, cuidado, se distingue mayúsculas de minúsculas... Saludos
La macro que te paso mi amigo Ramon, funciona perfecto, solo toma en cuenta que de esa forma, actualizaras siempre el campo nuevo a la fecha actual, en cuanto se ejecuta la línea oFecha.BoundField.UpdateDate(fFechaBD(Now)) el valor se guarda en la base de datos...
Para el error especifico que mencionas, asegurate de que el nombre que estas usando, sea efectivamente el del control donde quieres mostrar la fecha, cuidado, se distingue mayúsculas de minúsculas... Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro