Imparare il Basic Libre Office

Non conosco lo spagnolo ma, provando a leggere questo manuale mi sono accorto che è abbastanza comprensibile per un italiano. Così ho deciso di studiare il Basic e le Macro, aiutandomi con un traduttore on-line dove il testo è più difficile da capire.

Nel mio studio ho scorso velocemente molti capitoli per me “semplici” date le mie passate conoscenze di gwbasice Visual Basice quindi non li ho tradotti. Non escludo di farlo i seguito.

Anche il resto del lavoro proseguirà senza un ordine preciso, lasciandomi guidare dalla curiosità e dai miei interessi che sono tendenzialmente orientati ai database e a Base.

Ho pensato di mettere a disposizione il tutto a favore di quanti si affacciano come me al mondo affascinante della programmazione di Open Office e Libre Office.

Paragrafi tradotti, aggiornamento del 27/10/18:

  • 6.3 – Creare il nostro primo “servizio” (oggetto)
  • 7 Lavorare con i fogli di calcolo Calc
  • 7.1 Lavorare con i fogli
  • 7.8.Base di dati
  • 7.8.1 Importare i dati
  • 7.8.2 inserire nuovi dati
  • 7.8.3 Aggiornare i dati
  • 8 Lavorando con i formulari
  • 8.1 Formulari (forms)

LibreOffice Basic

Un’alternativa a Report Builder?

schermata-01-2457767-alle-15-21-28

Quasi per caso ho scoperto questa estensione fra quelle disponibili per Libre Office:

https://extensions.libreoffice.org/exte … textension.

schermata-01-2457767-alle-15-41-23

 

Sebbene risultasse pubblicata dal marzo 2016, non trovavo recensioni né sui forum dedicati né in rete. Mi sono deciso così a provarla e per farlo mi sono tradotto in italiano la documentazione che allego.
Sono poi riuscito a contattare l’autore Georg Mößlacher su un forum di LO in tedesco che mi ha dato le informazioni per inserire il testo in italiano nell’estensione. Gli ho mandato la traduzione e lui ha provveduto a pubblicare l’upgrade.
Per comodità allego anche l’estensione.
guida_rapida_basereportextension
basereportextension-oxt


Il primo test che mi è venuto in mente di fare è stato quello della velocità di esecuzione.
Ho cercato un database con molti record, ne ho trovato uno di quasi 10.000. Ho preso una tabella con tre colonne e, variando il numero dei record, ho registrato il tempo di esecuzione.

schermata-01-2457767-alle-14-05-04
Ne ho ricavato il grafico allegato che, come si può vedere, assegna la “vittoria” a Report Builder.
Ma, fino a 2000 record le prestazioni sono equivalenti.

Continua a leggere

Base: aggiungere dei giorni ad una data

Come è noto, la funzione DATEADD, molto pratica per aggiungere un qualsivoglia numero di giorni ad una data, non è disponibile nella versione incorporata (embedded) di HSQLDB 1.8 di Base, ma lo è soltanto a partire dalla versione 2.x.

Come superare l’ostacolo?

Si può fare utilizzando una tabella di appoggio contenente un numero appropriato di date consecutive e quindi effettuare un confronto in una query fra la data a cui aggiungere dei giorni e l’elenco appositamente creato.

  1. Per creare la tabella di appoggio possiamo utilizzare Calc. Una volta aperto un foglio basta digitare sulla prima riga di una colonna una data di partenza e poi trascinare verso il basso con il mouse per ottenere l’elenco che ci serve. Se, ad esempio dobbiamo aggiungere dei giorni inferiore a 365 ad una data del 2016 basterà partire dalla data di oggi e trascinare in basso fino al 31/12/2016.
  2. Successivamente occorre copiare il contenuto della colonna di Calc per creare una tabella di Base.
    – Evidenziamo l’elenco di date, clic destro > Copia
    – Apriamo Base e nello spazio vuoto della zona Tabelle, clic destro > Incolla
    – Nella finestra successiva indichiamo il nome della nostra tabella e poi fare clic su
    Next
    – Spostare il campo date da sinistra a destra con il tasto > e poi fare clic su Next
    – Diamo un nome al campo (ad esempio: Date) e selezioniamo il tipo campo: Data e
    facciamo clic su Crea
    – Rispondiamo alla richiesta di creare una chiave primaria e troveremo pronta la
    tabella.
  3. Creiamo una query in vista SQL e scriviamo il codice:
    SELECT “Tabella_Date”.”Data”, “Vostra_Tabella”.”Data_Partenza”, “Vostra_Tabella”.”Numero” FROM “Tabella_Date”, “Vostra_Tabella” WHERE “Vostra_Tabella”.”Numero” = DATEDIFF( ‘dd’, “Vostra_Tabella”.”Data_Partenza”, “Tabella_Date”.”Data” )
    dove:
    Tabella_Date è la tabella creata con l”aiuto di Calc
    Vostra_Tabella è la tabella di lavoro
    Data_Partenza è la data alla quale aggiungere gioni
    Numero sono i giorni da aggiungere.
  4. Scaricare qui file di esempio

 

Pubblicato in Base

Rapporti con immagini

Sul Forum https://forum.openoffice.org/it/forum/ un iscritto riferisce di non riuscire ad inserire in un Report le immagini di un campo immagine di una Query.

Con la procedura guidata non è possibile se non incollando una ad una le immagini in modalità Modifica report (Rapporto1 nel file allegato).

Con Report Builder, invece, la cosa riesce facilmente (Rapporto2 nel file allegato).

Vedi file allegato: Report con immagini 

Attenzione a causa di un bug di Report Builder il report funziona bene solo con Libre Office che incorpora l’estensione senza doverla installare.

Pubblicato in Base

Tutorial Report Builder

In primo piano

finestraCiao a tutti, per imparare personalmente ad usare Report Builder ho scritto un piccolo tutorial che voglio condividere nella speranza possa essere di aiuto anche per altri. Ringrazio sin d’ora coloro che mi segnaleranno errori e mancanze.

 

  1. Tutorial Report Builder 2.0.pdf

  2. Il file Rubrica telefonica.odb usato nel tutorial

  3. Il file Clinica.odb usato nel tutorial

  4. Il file Clinica-2.odb modificato in risposta a Max (04/07/2016)

Pubblicato in Base