Buenas, es mi primer mensaje aqui. Tengo varias dudas a ver si me la podeis solucionar.
Estoy haciendo una base de datos para un almacenaje.
1ª.- Tengo creado un formulario principal (Form_princimal) y quiero que al pulsar un boton de ese formulario me ejecute otro formulario (Form_entrada), como indico eso en las propiedades del boton.
2ª.- Al abrir ese formulario de entrada, me deben salir todos los campos vacios para poder insertar el nuevo registro, pero no se porque siempre me aparece el primer dato de la tabla, ¿como puedo hacer para que me aparezca directamente vacio?
3ª.- Cuando introduzco los datos en el formulario de entrada quiero que al pulsar el boton guardar ademas de guardarme los datos en la tabla que lo hace correctamente me gustaria que se grabase la palabra "almacenada" en la variable estado de esa misma tabla pero que es un dato que no quiero que aparezca en el formulario.
Muchas gracias de antemano.
Saludos.
Necesito ayuda con una duda en openoffice base
Necesito ayuda con una duda en openoffice base
OpenOffice 2.0
-
- Mensajes: 99
- Registrado: Sab Dic 13, 2008 6:45 pm
Re: Necesito ayuda con una duda en openoffice base
1) Para enlasar una macro a un evento de dun elemento de formulario: abre el dialogo de propiedades del elemento (como un botón), leugo abre la pestaña 'Eventos'. Junto al evento que quieres, oprime en el botón con tres puntos [...] y selecciona la macro por medio del asistente.
2) Para abrir un formulario por medio de otro: enlasa esta macro a un botón.
Para modificar una columna al modificar el registro: En lasa la siguente macro el evento 'Before Record Action' del formulario
2) Para abrir un formulario por medio de otro: enlasa esta macro a un botón.
Código: Seleccionar todo
Sub abrirFormulario(Event As Object)
On Error Goto HandleError
Dim FormDocs As Object
Dim DBDoc As Object
Dim DataSource As Object
Dim Conn As Object
Dim Args(1) As New com.sun.star.beans.PropertyValue
Dim FormName As String
Dim FormDoc As Object
Dim UserName As String
Dim Password As String
UserName="" : Password=""
DBDoc=Event.Source.Model.Parent.Parent.Parent.Parent
DataSource=DBDoc.DataSource
Conn=DataSource.getConnection(UserName,Password)
FormName="Form1"
FormDocs=DBDoc.FormDocuments
Args(0).Name="ActiveConnection" : Args(0).Value=Conn
If FormDocs.hasByName(FormName) Then
FormDoc=FormDocs.loadComponentFromURL(FormName,"_self",0,Args() )
Form=FormDoc.DrawPage.Forms.getByindex(0) 'obtener el primer formulario
Form.load() ' carga el formulario
Form.moveToInsertRow() ' <=======mueve el puntero de registro a un registro nuevo
FormDoc.CurrentController.Frame.ComponentWindow.setFocus()
Else
MsgBox "No form named: " & FormName
End If
HandleError:
If Err<>0 Then
MsgBox "An error occured while loading the form [ " & FormName & " ]"
Exit Sub
End If
End Sub
Código: Seleccionar todo
Sub Form_BeforeRecordAction(Event As Objet)
Dim Form As Object
If (Event.Action<>2 or Event.Source.ImplementationName<>"com.sun.star.comp.forms.ODatabaseForm") Then exit Sub
Form=Event.Source
Form.Columns.getByName("estado").updateString("almacenada")
End Sub