[Risolto] Stampare dati DB usando Finestre di Dialogo

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Avatar utente
DeutscherLinux
Messaggi: 26
Iscritto il: giovedì 9 ottobre 2014, 23:01

[Risolto] Stampare dati DB usando Finestre di Dialogo

Messaggio da DeutscherLinux »

Buon giorno a tutti :D

Sto usando le Finestre di Dialogo per gestire i dati presenti in un file .odb.

Ora sono arrivato al punto in cui tali dati devono essere distribuiti, stampandoli su carta o creando un file .pdf.
Sarebbe possibile stampare tramite una Dialog Form?

Ho visto in rete esempi di utilizzo di modelli di Writer, ma i dati in formato tabellare erano righe di un Foglio di Calc, mentre io vorrei leggere e stampare i dati di una tabella o di una vista presente in un database, senza appoggiarmi a fogli di calcolo usati come contenitori polmone temporanei (svuotati e riempiti di dati tabellari ogni volta).

Grazie a tutti anticipatamente per l'aiuto.

Ciao
Roberto
Ultima modifica di DeutscherLinux il venerdì 24 aprile 2015, 0:51, modificato 2 volte in totale.
DeutscherLinux
Apache OpenOffice 4.1.1
su Ubuntu 14.04 LTS 64 Bit
su Windows 7 Pro 64 Bit
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da unlucky83 »

Non sono un esperto di Base ( sono una schiappa :D), ma mi sembra che con i report si possa stampare i risultati di query etc...
La cosa impegnativa è costruirsi il report con il layout simile a ciò che si ha in mente (personalmente, ci perdo sempre la pazienza). In aiuto c'è un'estensione chiamata report builder..nel forum se ne parla.
Buon Lavoro
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
DeutscherLinux
Messaggi: 26
Iscritto il: giovedì 9 ottobre 2014, 23:01

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da DeutscherLinux »

Ciao unlucky83,

Grazie per la tua risposta; alla fine o faccio uso di report come suggerisci tu, oppure creo delle tabelle pivot, oppure uso dei modelli di Calcio; negli ultimi due casi farò uso della Sorgente Dati.

In ogni caso però, come faccio dalla maschera della Finestra di Dialogo a "passare" i comandi per trovarmi nel report, o nella tabella pivot, o nel file modello di Calcio con i dati pronti da stampare?

Grazie.

Ciao
Roberto
DeutscherLinux
Apache OpenOffice 4.1.1
su Ubuntu 14.04 LTS 64 Bit
su Windows 7 Pro 64 Bit
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da unlucky83 »

La strategia su cui mi baserei per il caso "sorgente dati" è:
>inserire un pulsante nella finestra di dialogo per quest'opzione
>collegarci la macro che apre il file .ods modello (nel forum ci sono info)
>la macro collegata al pulsante deve ultimare la finestra di dialogo, così da poter avviare la stampa manualmente, oppure far si che la stessa macro avvi la stampa (nel forum c'è qualcosa di recente su come impostare la stampante da macro e le opzioni di stampa)

Con maggiori informazioni e con un file di esempio, possiamo passare a come scrivere le macro più nel dettaglio
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
DeutscherLinux
Messaggi: 26
Iscritto il: giovedì 9 ottobre 2014, 23:01

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da DeutscherLinux »

Ciao a tutti,

Quando ho completato il Data Entry in una Dialog Form, vorrei stampare o su carta o su pdf, scegliendo magari tra i vari driver e stampanti disponibili.

Si potrebbe usare un modello di Calc o Writer in cui importare i dati contenuti negli oggetti testo, numero o data presenti nella maschera?
E se volessi stampare un report, potrei eseguire l'azione dalla Finestra di Dialogo?

Allego un file pdf che spiega dove si trova il pulsante di stampa ed un link ad un file zip da decomprimere per ottenere la cartella contenente tutto ciò che serve per il lavoro.

https://www.dropbox.com/s/hlupqaa6k8reh ... i.zip?dl=0

Per chiarimenti sono a disposizione.

Grazie.

Ciao
Roberto
Allegati
TestInserimentoDatiPerStampa.pdf
(184.96 KiB) Scaricato 217 volte
DeutscherLinux
Apache OpenOffice 4.1.1
su Ubuntu 14.04 LTS 64 Bit
su Windows 7 Pro 64 Bit
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da unlucky83 »

Ciao, ho scaricato il materiale, ed è tutto chiaro. Nei ritagli di tempo provo a produrre qualcosa di utile che sia all'altezza del lavorone che hai fatto :D
Questa settimana sono un pò impegnato, ma penso che per sabato al massimo dovrei riuscire ad avere qualcosa da condividere qui sul forum
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da unlucky83 »

Eccomi qua prima del previsto.
Allego due file:
Modello.odt è un esempio di modello per la stampa, in cui stabilire il layout. Riporta degli "pseudo-nomi di campo". La macro cerca e sostituisce questi campi.
DBAnimali.ods. Ho aggiunto il modulo "Module1", in cui ci sono le macro che ho aggiunto al tuo lavoro. Nella parte iniziale ti chiede di stabilire il percorso di salvataggio e il nome del file in cui esportare il modello, nella fase successiva apre il file Modello.odt (CHE DEVE trovarsi nella stessa cartella di lavoro del file ods), cerca e sostituisce gli pseudo-campi con i valori della finestra di dialogo, ed infine salva con nome il modello, in questo modo i cambiamenti non interesseranno il modello, ma li avrai in un nuovo file, con il nome da te scelto nella cartella che hai indicato.

Aggiusta a tuo gusto le macro :)
Allegati
Modello.odt
(17.09 KiB) Scaricato 214 volte
DBAnimali.ods
(98.03 KiB) Scaricato 215 volte
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
DeutscherLinux
Messaggi: 26
Iscritto il: giovedì 9 ottobre 2014, 23:01

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da DeutscherLinux »

Grazie unlucky83,

Guardo, studio e farò sapere :D

Ciao
Roberto
DeutscherLinux
Apache OpenOffice 4.1.1
su Ubuntu 14.04 LTS 64 Bit
su Windows 7 Pro 64 Bit
Avatar utente
DeutscherLinux
Messaggi: 26
Iscritto il: giovedì 9 ottobre 2014, 23:01

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da DeutscherLinux »

Ciao unlucky83,

Ho provato e studiato le tue macro, capendo il lavoro che eseguono.
Ho trovato un paio di punti che ho corretto nella Sub StampaUnlucky83:

1.
All'inizio ho commentato la riga con la variabile nRecordApp ed ho inserito quella subito sotto con sIDAnimale, altrimenti non carica il valore della chiave primaria; per altro il relativo oggetto testo nel dialogo non ha alcun valore se non in variazione, durante la ricerca, perché in inserimento ex-novo di un record non è necessario gestirne il valore, incrementato in automatico solo durante l'esecuzione del comando sql Insert Into.
Vedi aFind ed aReplace
2.
Più avanti usi la variabile NuovoUrlCompleto con la variabile nuovaDir, la funzione GetPathSeparator() e la variabile nomenuovofile.
Così facendo, però, la variabile NuovoUrlCompleto si valorizza in modo errato, cioè, per esempio, come "file:///Home/<utente>/Dati/AOO/DBAnimali//zzz.odt" in linux, o come "file:///C:/Users/<utente>/Dati/AOO/DBAnimali/\zzz.odt" in Windows.
Vedi il doppio slash ed il backslash?

La soluzione è di non usare la funzione GetPathSeparator(), ovvero utilizzare "NuovoUrlCompleto = nuovaDir & nomenuovofile", che permette di ottenere come risultato la stessa sintassi, ovvero "file:///Home/<utente>/Dati/AOO/DBAnimali/zzz.odt" in linux e "file:///C:/Users/<utente>/Dati/AOO/DBAnimali/zzz.odt" in Windows.
Vedi una sola slash prima del nome del file nel percorso?

La doppia slash in linux non dà fastidio, ma in Windows quel "..../\...." restituisce un errore di star basic.

Mi servirebbe solo qualche link a tutorial o guide che spieghino come costruire un modello di Writer o di Calc contenenti campi collegati ai dati di una tabella DB o di un Dialogo.
Tu ne avresti da passarmi, per favore?

Allego file ods con macro modificate e scrivo [risolto] nell'oggetto.

Grazie in anticipo

Ciao
Roberto
Allegati
DBAnimali.ods
(95.65 KiB) Scaricato 207 volte
DeutscherLinux
Apache OpenOffice 4.1.1
su Ubuntu 14.04 LTS 64 Bit
su Windows 7 Pro 64 Bit
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: [risolto] Stampare dati DB usando Finestre di Dialogo

Messaggio da unlucky83 »

Ciao, mi aspettavo che ci fossero delle cose da sistemare, visto che ho preferito consegnarti qualcosa su cui lavorare in fretta. :D
Per il punto 2) mi ero accorto del doppio slash, ma dato che l'ho testata solo su linux, non ho dato peso alla cosa, hai fatto benissimo a segnalare che su windows non funziona in questo modo la macro.

Per quanto riguarda guide sui modelli di writer (.ott) e di calc (.ots), non ho nulla, quindi posso solo suggerirti di googlare un pò.
La mia ignoranza in merito a questi strumenti, è dipesa dal fatto che, adoperando le macro per modificare dei campi in un normale file .odt e .ods (come nell'esempio da me proposto), posso prepararmi un normale file e gestirlo come se fosse una sorta di modello, anche se il file in sè e per sè non è un reale file modello riconosciuto da openoffice...
Occasionalmente provo a lavorare con i file .ott, ma non mi ci trovo proprio. Secondo me sono strumenti per semplificare la vita a chi non digerisce le macro :D
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Maios
Messaggi: 20
Iscritto il: giovedì 7 marzo 2019, 18:54

Re: Stampare dati DB usando Finestre di Dialogo

Messaggio da Maios »

Ciao a tutti, cercavo una soluzione per inviare stampe attraverso una macro, e ho trovato che nel DbAnimali.ods la Macro parte in automatico, come si fa? Grazie in anticipo
Open Office 4.1.6 su ubuntu
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Stampare dati DB usando Finestre di Dialogo

Messaggio da charlie »

Ciao, se vai al menu > Strumenti > Personalizza > scheda Eventi, vedrai che c'è l'impostazione di una macro assegnata all'evento Apri documento.
Schermata 2019-05-17 alle 18.54.39.png
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Maios
Messaggi: 20
Iscritto il: giovedì 7 marzo 2019, 18:54

Re: [Risolto] Stampare dati DB usando Finestre di Dialogo

Messaggio da Maios »

Grazie mille
Open Office 4.1.6 su ubuntu
Maios
Messaggi: 20
Iscritto il: giovedì 7 marzo 2019, 18:54

Re: [Risolto] Stampare dati DB usando Finestre di Dialogo

Messaggio da Maios »

Per casi c'è anche un modo per far sì che alla chiusura della Form, chiuda anche il documento?
Open Office 4.1.6 su ubuntu
Rispondi