[RISOLTO] apertura di un formulario filtrato
[RISOLTO] apertura di un formulario filtrato
Salve a tutti,
sto cercando di realizzare un db per l'anagrafe di alcune specie botaniche mediante LibreOffice 3.3 su Windows XP Pro SP3.
Come si puo' notare nel file .odb allegato, i campi che compongono la tabella principale "Specie" sono numerosi, il che comporta che non possano essere tutti visualizzati in modo agevole in un unico formulario .
Ho quindi pensato di distribuire e visualizzare i dati su piu' formulari, da richiamare mediante pulsanti posti sul formulario principale "01_specie".
Avendo selezionato e visualizzato nel formulario principale i dati di una specie tramite i pulsanti di navigazione, vorrei cliccare su un pulsante per aprire un formulario secondario (ad esempio, "04_rischi_impatti_strategie") che sia filtrato sui dati di questa stessa specie.
Immagino che questa operazione sia possibile mediante delle macro - su cui sono completamente ignorante - o magari mediante altre funzionalita', ma gli esempi che ho trovato sul forum non mi sembrano trattare questo caso.
Vi chiedo cortesemente dei consigli in merito.
Grazie,
Roberto
sto cercando di realizzare un db per l'anagrafe di alcune specie botaniche mediante LibreOffice 3.3 su Windows XP Pro SP3.
Come si puo' notare nel file .odb allegato, i campi che compongono la tabella principale "Specie" sono numerosi, il che comporta che non possano essere tutti visualizzati in modo agevole in un unico formulario .
Ho quindi pensato di distribuire e visualizzare i dati su piu' formulari, da richiamare mediante pulsanti posti sul formulario principale "01_specie".
Avendo selezionato e visualizzato nel formulario principale i dati di una specie tramite i pulsanti di navigazione, vorrei cliccare su un pulsante per aprire un formulario secondario (ad esempio, "04_rischi_impatti_strategie") che sia filtrato sui dati di questa stessa specie.
Immagino che questa operazione sia possibile mediante delle macro - su cui sono completamente ignorante - o magari mediante altre funzionalita', ma gli esempi che ho trovato sul forum non mi sembrano trattare questo caso.
Vi chiedo cortesemente dei consigli in merito.
Grazie,
Roberto
- Allegati
-
- db_specie_stralcio.zip
- (127.72 KiB) Scaricato 258 volte
Ultima modifica di rledda il martedì 7 giugno 2011, 10:53, modificato 1 volta in totale.
Open Office 3.3 su Windows XP Professional 32bit SP3
-
- Messaggi: 62
- Iscritto il: lunedì 21 febbraio 2011, 7:00
Re: apertura di un formulario filtrato
non credo sia conveniente distribuire i dati relativi ad una sola specie su più formulari e meno che mai su più tabelle
credo che le tabelle OO base possano contenere 250 campi e un formulario possa essere agevolmente essere distribuito su più pagine
e/o organizzato con sottoformulari anch'essi in diverse pagine
se hai bisogno di sapere come fare io resto a disposizione ma nel forum ci sono molti post che ti possono essere molto utili
ciao
buon lavoro
credo che le tabelle OO base possano contenere 250 campi e un formulario possa essere agevolmente essere distribuito su più pagine
e/o organizzato con sottoformulari anch'essi in diverse pagine
se hai bisogno di sapere come fare io resto a disposizione ma nel forum ci sono molti post che ti possono essere molto utili
ciao
buon lavoro
open office 3.2.1
window 7
window 7
Re: apertura di un formulario filtrato
Ciao Gianni,giannidalmi ha scritto:non credo sia conveniente distribuire i dati relativi ad una sola specie su più formulari e meno che mai su più tabelle
credo che le tabelle OO base possano contenere 250 campi e un formulario possa essere agevolmente essere distribuito su più pagine
e/o organizzato con sotto-formulari anch'essi in diverse pagine
se hai bisogno di sapere come fare io resto a disposizione ma nel forum ci sono molti post che ti possono essere molto utili
ciao
buon lavoro
ti ringrazio per la risposta;
In realta' io non ho distribuito i dati di una sola specie su piu' tabelle: tutti gli attributi aventi relazione 1:1 con la specie stanno in una sola tabella.
Cio' che pensavo di fare era distribuire la visualizzazione/compilazione dei dati su piu' formulari tra loro collegati - adesso verifichero' sul forum la modalita' per distribuire un formulario su piu' "pagine".
Ciao,
Roberto
Open Office 3.3 su Windows XP Professional 32bit SP3
Re: apertura di un formulario filtrato
Ciao,
a volte basta fare delle ricerche sul forum... prova a vedere qui:http://user.services.openoffice.org/it/ ... =13&t=1506
a volte basta fare delle ricerche sul forum... prova a vedere qui:http://user.services.openoffice.org/it/ ... =13&t=1506
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
-
- Messaggi: 62
- Iscritto il: lunedì 21 febbraio 2011, 7:00
Re: apertura di un formulario filtrato
ops!
non avevo visto le relazioni multiple
e dire che sono pure agronomo
non avevo visto le relazioni multiple
e dire che sono pure agronomo
open office 3.2.1
window 7
window 7
Re: apertura di un formulario filtrato
Grazie codicem,codicem ha scritto:Ciao,
a volte basta fare delle ricerche sul forum... prova a vedere qui:http://user.services.openoffice.org/it/ ... =13&t=1506
avevo gia' visto questo esempio, che pero' non effettua l'operazione che vorrei applicare.
Il mio caso d'uso e' il seguente:
1) apro il formulario principale "01_specie" per visualizzare i dati inseriti;
3) tramite la barra di navigazione del formulario visualizzo i dati di una specie - ad esempio la specie "Aptenia cordifolia (L. fil.) Schwantes) " con ID = 6;
2) mediante il pulsante "Rischi, Impatti e Strategie" apro il formulario "04_Rischi_Impatti_Strategie" che visualizza i dati della stessa specie visualizzata del formulario "01_specie".
La macro dovrebbe quindi leggere applicare un filtro all'apertura del formulario "04_Rischi_Impatti_Strategie" basandosi non su un valore prefissato - come nell'esempio che hai citato - ma su un valore variabile che e' il valore del campo ID correntemente visualizzato nel formulario "01_specie".
Al di la' della mia ignoranza sulle macro che e' a dir poco 'enciclopedica', l'osservazione di gianni mi sta facendo riflettere se quanto cerco e' veramente il modo piu' corretto per accedere in lettura/scrittura ai dati delle specie.
A quanto ho capito, in LibreOffice e Open Office non e' possibile realizzare una 'tabbed form' come in Microsoft Access; sto cercando sul forum delle informazioni sulle modalita' di distribuzione del contenuto di 1 formulario su piu' pagine ma per ora non ho trovato nulla.
Grazie ancora per l'aiuto!
Ciao,
Roberto
Open Office 3.3 su Windows XP Professional 32bit SP3
-
- Messaggi: 62
- Iscritto il: lunedì 21 febbraio 2011, 7:00
Re: apertura di un formulario filtrato
provo ancora a consigliare, senza però avere verificato personalmente:
poichè un formulario OObase è più o meno come una 'normale' pagina di testo, tu puoi farlo 'lungo' quanto vuoi e poi lo puoi scorrere con la barra laterale, o se vuoi fare un lavoro migliore metti nella prima pagina dei bottoni che ti rimandano a 'segnalibri' e così puoi accedere alle diverse sezioni proprio come se fossero formulari diversi, in questo caso dovresti eliminare la barra laterale e poi mettere nelle varie sezioni un bottone di rimando alla prima pagina
provare per credere
come usare i segnalibri credo sia spiegato bene qua http://user.services.openoffice.org/it/ ... 84&start=0
ciao
poichè un formulario OObase è più o meno come una 'normale' pagina di testo, tu puoi farlo 'lungo' quanto vuoi e poi lo puoi scorrere con la barra laterale, o se vuoi fare un lavoro migliore metti nella prima pagina dei bottoni che ti rimandano a 'segnalibri' e così puoi accedere alle diverse sezioni proprio come se fossero formulari diversi, in questo caso dovresti eliminare la barra laterale e poi mettere nelle varie sezioni un bottone di rimando alla prima pagina
provare per credere
come usare i segnalibri credo sia spiegato bene qua http://user.services.openoffice.org/it/ ... 84&start=0
ciao
open office 3.2.1
window 7
window 7
Re: apertura di un formulario filtrato
grazie mille, Gianni!giannidalmi ha scritto:provo ancora a consigliare, senza però avere verificato personalmente:
poichè un formulario OObase è più o meno come una 'normale' pagina di testo, tu puoi farlo 'lungo' quanto vuoi e poi lo puoi scorrere con la barra laterale, o se vuoi fare un lavoro migliore metti nella prima pagina dei bottoni che ti rimandano a 'segnalibri' e così puoi accedere alle diverse sezioni proprio come se fossero formulari diversi, in questo caso dovresti eliminare la barra laterale e poi mettere nelle varie sezioni un bottone di rimando alla prima pagina
provare per credere
come usare i segnalibri credo sia spiegato bene qua http://user.services.openoffice.org/it/ ... 84&start=0
ciao
prima di leggere il tuo post stavo proprio portando il contenuto di tutti i formulari all'interno del formulario principale, che e' diventato piuttosto lungo!
adesso verifichero' il contenuto del link che mi hai fornito.
Nel formulario in modalita' di visualizzazione "Layout web" ritengo che per l'utente sarebbe utile poter visualizzare una intestazione fissa in cui poter leggere i valori dei campi "codice specie" e "nome specie" durante il suo spostamento lungo la pagina del formulario: e' a tuo avviso possibile?
Grazie ancora per l'aiuto.
Roberto
Open Office 3.3 su Windows XP Professional 32bit SP3
Re: apertura di un formulario filtrato
Ciao perchè dici che non va bene.
Inserisci il codice seguente e collega la "Sub openRischi" al pulsante che deve aprire il formulario Rischi_Impatti:
Inserisci il codice seguente e collega la "Sub openRischi" al pulsante che deve aprire il formulario Rischi_Impatti:
Codice: Seleziona tutto
REM - APERTURA FORMULARIO -
Sub OpenForm( oEvent as variant, aFormName as string, filter as string) as variant
Dim args(1) As New com.sun.star.beans.PropertyValue
Dim container as variant
container = oEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments
args(0).Name = "ActiveConnection"
args(0).Value = oEvent.Source.Model.Parent.ActiveConnection
args(1).Name = "OpenMode"
args(1).Value = "open"
oDoc=container.loadComponentFromURL(aFormName,"_blank",0,args())
Form=oDoc.DrawPage.Forms.MainForm
Form.Filter=filter
Form.reload()
End Sub
Sub openRischi ( oEvent as variant )
id=thisComponent.DrawPage.Forms.MainForm.getByName("fmtid").currentValue
OpenForm(oEvent, "04_Rischi_Impatti_Strategie", "( ""Specie"".""id"" = "+id+" )"
End sub
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
Re: apertura di un formulario filtrato
Grazie codicem,
il codice che mi hai fornito funziona!
non conoscevo la sintassi per impostare il filtro di apertura della maschera....
Un saluto, Roberto
il codice che mi hai fornito funziona!
non conoscevo la sintassi per impostare il filtro di apertura della maschera....
Un saluto, Roberto
Open Office 3.3 su Windows XP Professional 32bit SP3
Re: apertura di un formulario filtrato
Se ok puoi mettere Risolto
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2