[Resuelto] Error de excepción en "Evento.Source.getByName()

Discute sobre las herramientas de la base de datos

[Resuelto] Error de excepción en "Evento.Source.getByName()

Notapor Jordizen » Jue Ene 27, 2011 2:39 pm

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
Ú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
Jordizen
 
Mensajes: 19
Registrado: Mar Ene 25, 2011 9:24 am

Re: Error de excepción en "Evento.Source.getByName()

Notapor RMG » Jue Ene 27, 2011 5:10 pm

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
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3591
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Error de excepción en "Evento.Source.getByName()

Notapor mauricio » Jue Ene 27, 2011 5:42 pm

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...
captura_003.png

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5990
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX


Volver a Base

¿Quién está conectado?

Usuarios navegando por este Foro: MSN [Bot] y 0 invitados