Differenze tra le versioni di "LibreofficeRubrica"

Da GolemWiki.
Jump to navigation Jump to search
Riga 37: Riga 37:
  
 
Non necessario, ma si puo’ usare la seguente macro per aprire in automatico il formulario
 
Non necessario, ma si puo’ usare la seguente macro per aprire in automatico il formulario
  '''SUB OpeningForm
+
  ''' SUB OpeningForm
 
   Dim ObjTypeWhat
 
   Dim ObjTypeWhat
 
   Dim ObjName As String
 
   Dim ObjName As String
Riga 48: Riga 48:
 
       MsgBox "Error! Wrong form name used. " & ObjName
 
       MsgBox "Error! Wrong form name used. " & ObjName
 
   End if
 
   End if
  End Sub'''
+
  End Sub '''
  
 
mentre la seguente macro mette in fullscreen la finestra.
 
mentre la seguente macro mette in fullscreen la finestra.

Versione delle 15:47, 23 dic 2017

Libreoffice Base Creare un formulario di ricerca in una tabella. Utile per creare una rubrica.

1) Creare tabella con i vari campi dati, nel mio caso Tab1 Esempio: ‘Nome’ ‘Cognome’ ‘Telefono’

2) Creare tabella filtro con campi con nome simile ai campi della tabella Tab1 e il campo ID con propietà “si/no[BOOLEAN]” Esempio: ‘Nom’ ‘Cogn’ ‘Tel’

3) Seguire procedura guidata formulario usando come dati la tabella filtro

4) Aprire Navigatore formulario, tasto destro su MainForm/Propietà e scegliere Dati. A tipo di contenuto selezionare con il menu’ a tendina Comando SQL. Cliccando sui tre puntini accanto a Contenuto si apre una finestra. Scegliere la tabella filtro

5) Creare una casella di testo sempre all’interno di MainForm e come Dati scegliere il campo da usare come ricerca Esempio: ‘Nom’

6) Aprire Navigatore formulario, tasto destro su MainForm/Nuovo Formulario. Rinominare in SubForm

7) Aprire Navigatore formulario, tasto destro su SubForm/Propietà e scegliere Dati. A tipo di contenuto selezionare con il menu a tendina Comando SQL. Cliccando sui tre puntini accanto a Contenuto si apre una finestra. Scegliere la tabella Tab1. Cliccare sul Primo Campo e scegliere NomeTabella*. Nel mio caso Tab1*.

Nel secondo campo scegliere il campo che viene usato per filtrare poi modificarlo

UPPER (“NomeCampo”). Nella casella  Criterio scrivere COME '%' || UPPER ( :P1 ) || '%'

Togliere Spunta

Nel Terzo campo scrivere :P1 e nella casella 0 (quella sotto criterio), scrivere È VUOTO Togliere Spunta. Chiudere finestra comando Sql.

Nel campo collega da cliccare sui tre puntini a destra. Alla voce ‘formulario secondario’ scegliere P1 mentre alla voce Formulario Master campo da usare come ricerca. Esempio: formulario secondario=P1 Formulario Master=‘Nom’

8) In SubForm creare un Pulsante e nelle propietà, in casella Operazione scegliere Aggiorna Formulario

9) In SubForm creare una tabella con procedura guidata o caselle di testo collegate ai campi della tabella filtro per visualizzare i dati.


Non necessario, ma si puo’ usare la seguente macro per aprire in automatico il formulario

 SUB OpeningForm
 Dim ObjTypeWhat
 Dim ObjName As String
 ObjName = "Filtro"
 ObjTypeWhat = com.sun.star.sdb.application.DatabaseObject.FORM
 If ThisDatabaseDocument.FormDocuments.hasbyname(ObjName) Then 'Check the form exists'
    ThisDataBaseDocument.CurrentController.Connect() 'If the form exists connect to the database'
    ThisDatabaseDocument.CurrentController.loadComponent(ObjTypeWhat, ObjName, FALSE) 'Open the form'
 Else
     MsgBox "Error! Wrong form name used. " & ObjName
 End if
End Sub 

mentre la seguente macro mette in fullscreen la finestra.

SUB Fullscreen

  DIM oDispatcher As Object, Props(0) As New com.sun.star.beans.PropertyValue
  oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
  Props(0).Name = "FullScreen" : Props(0).Value = true
  oDispatcher.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:FullScreen", "", 0, Props())
  End SUB 

Link da dove ho preso spunto per questo tutorial

https://forum.openoffice.org/en/forum/viewtopic.php?f=100&t=42845