LibreOffice Base/SQL for dummies?

  • 7 Replies
  • 5903 Views
*

Offline Diego

  • ***
  • 1.348
  • Respect: +362
LibreOffice Base/SQL for dummies?
« on: September 15, 2011, 18:36:26 pm »
0
Con incoscienza, ho accettato l'impegno da volontario di fare un piccolo catalogo informale e interno per un'associazione di volontariato.
Pur non avendo mai usato database se non tramite gestionali locali o online già customizzati per i miei compiti, già che dovevo/devo immettere noiosamente i dati su un computer dal piccolo archivio cartaceo o dalle parole del responsabile, ho avuto la malsana idea di cimentarmi con LibreOffice Base e creare un piccolo database in modo da poter in futuro  elaborare i dati e velocizzare la creazione di rapportini mensili.

Ho creato il tabellone primario e la maschera/formulario per l'inserimento dati.
1. Curiosità. Per i report posso far in modo che per ogni record si pigli una o più foto e l'associ in automatico al record  a cui si riferisce? Se si, come?

Attualmente la soluzione che mi è venuta in mente è stampare a parte le foto e  il report con campi e dati. Nella “rilegatura” del fascicolo alternando pagina con foto e dati, seppur in modo grossolano avrei foto su una facciata/lato e dati corrispondenti dall'altro. In caso ci sia un'alternativa semplice, la valuterei volentieri.

2. Con cadenza mensile, mi servirà ordinare i record per valore di un campo specifico [comune di provenienza] (non ho ancora i dati relativi a quel campo ma sembra che la query con quell'ordine funzioni). Quel che mi perplime è che dovrò conteggiare, con il relativo turn over, le presenze mensili per giorni effettivi di ciascun record quantificate in giorni, e sommarle per ogni valore [comune di provenienza].  I giorni poi andranno moltiplicati per un valore economico per il rimborso spese ma quello è relativamente secondario.

Come caspita si fa il conteggio giorni e quindi la somma per ogni campo che dà l'ordine a n record (gg complessivi x [comune di provenienza])?

Presumo che per fare ciò ci sia SQL lì apposta ma non lo so usare. Ho dato un'occhiata a un tutorial in italiano per access (credo usassero il 2003 o il 2007) ma ho visto che scrivendo le stesse cose mi dà errore di linguaggio e mi son fermato. Qualche dritta su tutorial (gradito l'italiano perchè temo di non capire il linguaggio tecnico in inglese con accento o cadenza parlata)? Da una malsana idea su come occupare a gratis il tempo libero, potrei trovare l'occasione di imparare qualcosa di nuovo, utile e interessante.

Anche solo qualche suggerimento sulle “formule”/comandi che mi interessano potrebbe essere sufficiente e molto gradito.
La mia soluzione attuale è aggiornare la query mensilmente, esportarla in excel/Libreoffice Calc e fare calcoli, conteggi e stampa lì, dove mi sembra essere un po' più semplice nonostante il mio livello di ignoranza.

*

Offline Darth Dorgius

  • Il Gestore
  • *****
  • 19.858
  • Respect: +3361
  • Pratico: Burpees :P
Re: LibreOffice Base/SQL for dummies?
« Reply #1 on: September 15, 2011, 20:11:26 pm »
0
1. Molto probabilmente si, ma ti rispondo meglio domani.

2. Posti la query dalla quale sei partito (che ti dava errore)?

Sent from my x10 mini pro using Tapatalk
Cittadino del Territorio Libero di Trieste.

*

Offline Diego

  • ***
  • 1.348
  • Respect: +362
Re: LibreOffice Base/SQL for dummies?
« Reply #2 on: September 15, 2011, 23:37:32 pm »
0
2. Posti la query dalla quale sei partito (che ti dava errore)?
Purtroppo non ce l'ho più perchè in preda alla disperazione non avevo poi salvato la query prova o all'uscita generale le modifiche al database.

Prima di creare il database “vero”, quello che man mano vado a popolare, ne avevo creato uno di prova per una prima ripresa di studio sulla misura e l'allungo dell'avversario da combattere per poi farmelo amico.  XD
Nel frattempo, sempre la scorsa settimana, avevo cominciato a guardare i tutorial di access su you tube del canale NiktorTheNat, per poi trasferire i concetti su LibreOffice. Più o meno dopo il trentesimo video, faceva cenno a sql introducendo select, as, from, order by, where.

Avevo quindi provato nel db-prova a scrivere in sql una query semplicissima tipo i suoi esempi introduttivi (adattando ovviamente ai miei diversi nomi quelli dei campi).
Da idiota non avevo neppure colto, come ho scoperto poco fa, che anche con LO Base posso passare da struttura, esegui ricerca, sql. Pensavo di dover uscire dalla modifica e aprire.
Uscendo mi dava comunque errore di linguaggio per il salvataggio. Aprendo le query che avevo fatto con la creazione guidata in vista sql ho notato che era usata una “sintassi” differente. Per esempio dove nel tutorial usava [nome campo] o lo riconosceva anche senza quadre a me scrive “nome campo”; per il where lui usava “valore”, nelle mie è scritto 'valore'. Non so se possa dipendere dal passaggio da access a libreoffice, da una versione vecchia a una più recente o da windows (credo virtualizzato) nel suo caso a Ubuntu nel mio. Anche nella compilazione dei criteri in vista grafica/struttura non corrispondevano esattamente. .

Scervellandomi, dopo una lunga e sanguinolenta battaglia campale tra i miei due neuroni e i suoi circuiti diabolici  XD, mi pare di essere riuscito in un caso a fare una banalissima query con le correzioni. Sono però anche giunto a conclusione che senza una guida diversa ci avrei piegato decenni ad arrivare a meta. Quindi ho desistito.
Sui manuali scritti anche inglesi relativi a Access/OOBase/LOBase  a cui ho dato una sbirciata ho visto in elenco indicazioni soprattutto per creare tabelle e query ma poco o nulla sui comandi sql per i calcoli, seppur semplici.

Presumo che mi servano proprio le basi elementari di “sintassi”, organizzazione e il comando if e count. Per questo, non sapendo da che parte cominciare e non essendo riuscito ad avere dritte da amici e conoscenti a cui ho chiesto di persona se masticavano l'argomento, mi ero orientato sull'aggiramento dell'ostacolo esportando i dati in un foglio di calcolo.  Mi è venuto in mente solo oggi di provare a chiedere qui e rompere l'armistizio della scorsa settimana con il programma.

*

Offline Darth Dorgius

  • Il Gestore
  • *****
  • 19.858
  • Respect: +3361
  • Pratico: Burpees :P
Re: LibreOffice Base/SQL for dummies?
« Reply #3 on: September 15, 2011, 23:48:14 pm »
0
Allora... Intanto ti dico che per i nomi dei campi e delle tabelle, se non usi caratteri particolari (accentate e cose così), ma solo le solite dell'alfabeto inglese.... Non servono nè apostrofi, nè virgolette, nè quadre. :)


Per semplicità mia, ti chiederei di postarmi la struttura della tabella che usi e spiegare nuovamente come devi fare il report (in effetti non ho capito benissimo i calcoli che devi fare). :)


Sent from my x10 mini pro using Tapatalk
Cittadino del Territorio Libero di Trieste.

*

Offline Darth Dorgius

  • Il Gestore
  • *****
  • 19.858
  • Respect: +3361
  • Pratico: Burpees :P
Re:LibreOffice Base/SQL for dummies?
« Reply #4 on: September 16, 2011, 15:26:03 pm »
0
Ah si: per quanto riguarda le immagini...

Non so di default quale motore DB usi Libre Office... Se crei una tabella per salvarci le immagini, prova a creare una roba semplice tipo:


Code: [Select]
+-----------+---------------------+------+-----+---------+----------------+
| Field     | Type                | Null | Key | Default | Extra          |
+-----------+---------------------+------+-----+---------+----------------+
| image_id  | int(11) unsigned    | NO   | PRI | NULL    | auto_increment |
| filename  | varchar(255)        | NO   | MUL |         |                |
| file_data | blob                | NO   |     |         |                |
+-----------+---------------------+------+-----+---------+----------------+

Il tipo dati BLOB può contenere un'immagine di max 64kb, se ti serve di più puoi usare MEDIUMBLOB (fino a 16 MB). LONGBLOB sono 4Gb, meglio lasciar stare. :gh:
Cittadino del Territorio Libero di Trieste.


*

Offline Diego

  • ***
  • 1.348
  • Respect: +362
Re:LibreOffice Base/SQL for dummies?
« Reply #5 on: September 16, 2011, 15:45:10 pm »
0
1. Molto probabilmente si, ma ti rispondo meglio domani.

Ieri sera, per avere le immagini nella stessa pagina dei dati, penso di aver trovato una soluzione parziale: creo il report in guidata a blocchi, vado in struttura per modificare il layout a mio gusto e nel corpo creo lo spazio per l'inserimento delle immagini, salvo il report in .odt ed esco. Riapro il file .odt col writer e inserisco le foto manualmente.
Non ho l'associazione automatica foto/record ma il risultato è più piacevole di avere dati e immagini su fogli separati come avevo pensato in un primo tempo e lo considererei accettabile.
Allora... Intanto ti dico che per i nomi dei campi e delle tabelle, se non usi caratteri particolari (accentate e cose così), ma solo le solite dell'alfabeto inglese.... Non servono nè apostrofi, nè virgolette, nè quadre. :)
Grazie.
Ho un paio di campi con ° dopo la n per indicare numero e uno con / a separare le due opzioni ed è possibile che l'errore me lo segnalasse selezionando quei campi in prova.

Quote
Per semplicità mia, ti chiederei di postarmi la struttura della tabella che usi e spiegare nuovamente come devi fare il report (in effetti non ho capito benissimo i calcoli che devi fare). :)
Ti mando un logorroico pm, dove spiego contesto, calcoli e un esempio perchè non avendo nè esperienza nè basi teoriche posso aver sbagliato il ragionamento e l'organizzazione di partenza per affrontare l'obiettivo.
Vorrrei creare più report e stampe di natura leggremente diversa tra loro, ma quello con i calcoli è temporalmente secondario.

*

Offline Diego

  • ***
  • 1.348
  • Respect: +362
Re:LibreOffice Base/SQL for dummies?
« Reply #6 on: September 16, 2011, 15:49:14 pm »
0
Non so di default quale motore DB usi Libre Office.
Non so neppure cosa sia il motore db.   

*

Offline Diego

  • ***
  • 1.348
  • Respect: +362
Re:LibreOffice Base/SQL for dummies?
« Reply #7 on: September 17, 2011, 18:29:56 pm »
0
Ah si: per quanto riguarda le immagini...

Avevo visto strumenti relativi all'inserimento estetico delle immagini ma non avevo visto il tipo dati x i campi Immagine[LONGVARBINARY].  :-[
Grazie al tuo post ci ho pasticciato e a tentativi senza aver capito neppure bene come sembra fungere e i report dovrebbe farmeli in automatico come volevo.   :sur:

Mo' dovrò cominciare a pigliare a testate il monitor fin quando non capisco come dirgli correttamente i criteri per filtrarmi i record e di conseguenza farmi qualche calcolino.