Insercion de fecha automatica
Insercion de fecha automatica
Buenas tardes, y ante todo gracias por existir. Hace poco que he empezado con Openoffice Base y con las Base de datos en general y gracias a vosotros he resuelto muchísimas dudas. Pero tengo una que no logro solventar. Tengo una tabla para prospección de inmuebles y una de los campos a introducir es la fecha. Hoy por hoy la estoy introduciendo manualmente pero me ayudaría mucho que fuese introducida automaticamente.
¿Como puedo hacer?
Mil gracias por adelantado y disculpar una pregunta tan tonta
¿Como puedo hacer?
Mil gracias por adelantado y disculpar una pregunta tan tonta
Mac os Sierra
Apache Openoffice 4.1.3
Apache Openoffice 4.1.3
Re: Insercion de fecha automatica
Hola...
Recuerda, la única pregunta "tonta", es la pregunta NO hecha...
Creo recordar que tu pregunta ya se ha contestado en estos foros... ¿ya hiciste una búsqueda?
Saludos
Recuerda, la única pregunta "tonta", es la pregunta NO hecha...
Creo recordar que tu pregunta ya se ha contestado en estos foros... ¿ya hiciste una búsqueda?
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
Re: Insercion de fecha automatica
Buenas mauricio, la verdad es que si realice la búsqueda pero no logre dar con nada que me ayudase con mi problema (con este, el resto de los que se me han ido presentado los he podido solucionar gracias a este foro), estoy seguro de que algo he debido pasar por alto o de que estoy tan verde en esto que por eso las respuestas dadas no me han servido; no obstante si pudieras facilitarme algo de info o el hilo en cuestión te lo agradeceria enormemente!
Mac os Sierra
Apache Openoffice 4.1.3
Apache Openoffice 4.1.3
Re: Insercion de fecha automatica
Dominik, Sugiero dar más detalles de la consulta y de ser necesario subamos a esta pagina un archivo ejemplo.
Saludos.
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Insercion de fecha automatica
Tengo una base de datos local, que utilizo para la prospección de viviendas en venta, en la cual he creado dos tablas; una de ellas llamada venta es la principal y la que se muestra a continuación. en la segunda, llamada tipo, simplemente se recogen los valores de un campo de selección para poder indicar el tipo de vivienda.
El campo Fecha, de tipo Date, debe recoger la fecha en que ha sido añadida la entrada a la base de datos, para saber cuando he prospectado dicho inmueble.
Los datos son introducidos mediante el siguiente formulario (soy consciente de lo feo que es pero ya lo reformare una vez funcione todo bien):
Mi intención es que el campo fecha recoja automáticamente la fecha actual para que esta sea almacenada en cada entrada de la bd, para evitar teclearla.
Las consultas de lso datos ya introducidos se realizan desde otro formulario en el que solo se muestran pero no se pueden modificar los datos.
La cuestión es que no se ni por donde empezar a solucionarlo; he leído algo sobre macros, pero no se si serviría ni como implementarlos.
Nuevamente mil gracias por cualquier ayuda que podáis darme
El campo Fecha, de tipo Date, debe recoger la fecha en que ha sido añadida la entrada a la base de datos, para saber cuando he prospectado dicho inmueble.
Los datos son introducidos mediante el siguiente formulario (soy consciente de lo feo que es pero ya lo reformare una vez funcione todo bien):
Mi intención es que el campo fecha recoja automáticamente la fecha actual para que esta sea almacenada en cada entrada de la bd, para evitar teclearla.
Las consultas de lso datos ya introducidos se realizan desde otro formulario en el que solo se muestran pero no se pueden modificar los datos.
La cuestión es que no se ni por donde empezar a solucionarlo; he leído algo sobre macros, pero no se si serviría ni como implementarlos.
Nuevamente mil gracias por cualquier ayuda que podáis darme
Mac os Sierra
Apache Openoffice 4.1.3
Apache Openoffice 4.1.3
Re: Insercion de fecha automatica
Hola,
Una posible solución simple. Ejecutar esta instrucción en Herramientas->SQL->Ejecutar comando
ALTER TABLE "PonerNombreTuTabla" ALTER COLUMN "Fecha" SET DEFAULT CURRENT_TIME;
ALTER TABLE "PonerNombreTuTabla" ALTER COLUMN "Fecha" SET DEFAULT CURRENT_TIMESTAMP; (este pone tambien la hora)
Saludos
Una posible solución simple. Ejecutar esta instrucción en Herramientas->SQL->Ejecutar comando
ALTER TABLE "PonerNombreTuTabla" ALTER COLUMN "Fecha" SET DEFAULT CURRENT_TIME;
ALTER TABLE "PonerNombreTuTabla" ALTER COLUMN "Fecha" SET DEFAULT CURRENT_TIMESTAMP; (este pone tambien la hora)
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: Insercion de fecha automatica
Otra posible opción (semi automática) para capturar datos en un campo fecha es mostrar de las opciones del campo fecha la propiedad "Despegable".
Y al momento de capturar escogemos el botón hoy, como se muestra en el cuadro chiquito anexo, ejemplo:
Y al momento de capturar escogemos el botón hoy, como se muestra en el cuadro chiquito anexo, ejemplo:
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Insercion de fecha automatica
Buenas!
Si pones una macro como la que pongo abajo en el evento 'Después de modificar registro' del formulario en el que quieres trabajar, debiera funcionar:
Un saludo!
Si pones una macro como la que pongo abajo en el evento 'Después de modificar registro' del formulario en el que quieres trabajar, debiera funcionar:
Código: Seleccionar todo
Sub FechaPredeterminada (Event)
Dim oCtrl As Object, oForm As Object
oForm=Event.Source ' Formulario afectado
oCtrl = oForm.getByName("FECHA") ' Control fecha
If oCtrl.BoundField.getString()<>"" Then Exit sub ' Si ya hay una fecha, nos echa
oCtrl.BoundField.UpdateString( (Year(NOW())) &"-" & (Month(Now()))&"-" & (Day(Now()))) ' Ponemos la fecha
End Sub
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10
Re: Insercion de fecha automatica
Otra posibilidad (ya que la anterior en ocasiones no funciona) es:
1- En el evento 'Antes de acción en el registro':
En el Evento 'Después de modificar el registro' asignamos la siguiente:
De todos modos, supongo que alguien encontrará el caso en el que no funcione.
Otro saludo!
1- En el evento 'Antes de acción en el registro':
Código: Seleccionar todo
Sub fijarpredeterminados
oForm=ThisComponent.Drawpage.Forms.getByName("MainForm") ' Modelo del formulario
Fecha = oForm.getByName("FECHA COMUNICACION").CurrentValue ' Valor actual en el formulario
FechaCTL= oForm.getByname("FECHA COMUNICACION") ' Control en el formulario
Globalscope.BasicLibraries.LoadLibrary( "Tools" ) ' Librería
'-----------------------------------------------
' 1º Si Fecha está lleno, nos echa de la macro
If FechaCTL.BoundField.getString()<> "" Then ' Si la fecha no está vacía
Exit sub ' Nos echa de la macro
End if ' Acabamos la condición
'--------------------------------------------------------------
' 2º Fijamos los valores que tenemos como predeterminados
FechaCTL.BoundField.UpdateString( (Year(NOW())) &"-" & (Month(Now()))&"-" & (Day(Now()))) ' Ponemos la fecha
'-------------------------------------------------------------
' 3º Al ejecutarse dos veces(por el tipo de evento que es), nos aseguramos de salir en caso de que Fecha esté vacía
If FechaCTL.BoundField.getString()<> "" Then ' Si la fecha no está vacía
Exit sub ' Nos echa de la macro
End if ' Acabamos la condición
If oForm.isNew then ' Si el formulario es nuevo
oForm.insertRow ' Insertamos una fila
Else ' En caso contrario
oForm.UpdateRow ' Actualización de la fila
End if ' Acabamos la condición
End sub
Código: Seleccionar todo
Sub AnotarFechaInicioFormulario(Evento As Object)
Dim oCtrl As Object, Programa As Variant
Dim FechaBD As New com.sun.star.util.Date
Globalscope.BasicLibraries.LoadLibrary( "Tools" )
Programa= GetProductname()
oCtrl = Evento.Source.getByName("FECHA COMUNICACION")
If Evento.Source.IsNew Then
if left(Programa, 11) <>"LibreOffice" Then
oCtrl.Date = Val( Format( Now, "YYYYMMDD" ) )
Else
FechaBD.Year=Year(NOW())
FechaBD.Month=Month(NOW())
FechaBD.Day=Day(NOW())
oCtrl.Date = FechaBD
End if
End if
End Sub
Otro saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10
Re: Insercion de fecha automatica
Muchas gracias por lo del campo deplegable.
Me ha venido de maravilla
Mi agradecimiento a todos los que haceis este foro
Me ha venido de maravilla
Mi agradecimiento a todos los que haceis este foro
Apache Openoffice 4.1.3 en Windows 7