[Risolto] Creare filtro in una maschera di dialogo
[Risolto] Creare filtro in una maschera di dialogo
Buonasera a tutti, nel progetto che sto realizzando, di cui allego file, mi sono imbattuto in un problema che non riesco a risolvere nonostante abbia fatto delle ricerche su google e sul forum per capire se potevo trovare una soluzione idonea al mio caso.
Mi spiego; con la macro "Apri_Reg_Rep" mi occorre creare un procedimento che tramite la casella "ListBox1 = Ricerca Cognome Studente" dopo avermi individuato il soggetto da me ricercato, mi riporti nel riquadro "Report" della maschera di dialogo tutti i riferimenti legati a quel soggetto, quindi devo creare un "Filtro".
Attualmente riesco ad ottenere questo risultato evidenziando riga per riga, invece io voglio realizzare un vero e proprio filtro ed accetto anche dei consigli laddove dovessi cambiare il tipo di impostazione dei campi realizzati all'interno della maschera di dialogo, poiché ho dei dubbi in merito, mi sembra un'impostazione troppo macchinosa che forse va svolta in un altro modo.
Indico percorso per fare tet:
Apri File --> Foglio Registro --> cliccare sul pulsante Report
Specifico che per i mesi di Gen, Feb ecc. viene riportato il totale ore del singolo mese, mentre la voce "Totale Ore" riporta il totale dell'anno.
Percorso Macro:
Andare sul Modulo "Apri_Reg_Rep" , mentre per la maschera di dialogo è "Dlg_Reg_Rep"
Spero di esser stato chiaro, e chiedevo se era possibile vedere un'applicazione pratica per capire come devo modificare la macro.
Un grazie in anticipo a chi mi darà una mano
Mi spiego; con la macro "Apri_Reg_Rep" mi occorre creare un procedimento che tramite la casella "ListBox1 = Ricerca Cognome Studente" dopo avermi individuato il soggetto da me ricercato, mi riporti nel riquadro "Report" della maschera di dialogo tutti i riferimenti legati a quel soggetto, quindi devo creare un "Filtro".
Attualmente riesco ad ottenere questo risultato evidenziando riga per riga, invece io voglio realizzare un vero e proprio filtro ed accetto anche dei consigli laddove dovessi cambiare il tipo di impostazione dei campi realizzati all'interno della maschera di dialogo, poiché ho dei dubbi in merito, mi sembra un'impostazione troppo macchinosa che forse va svolta in un altro modo.
Indico percorso per fare tet:
Apri File --> Foglio Registro --> cliccare sul pulsante Report
Specifico che per i mesi di Gen, Feb ecc. viene riportato il totale ore del singolo mese, mentre la voce "Totale Ore" riporta il totale dell'anno.
Percorso Macro:
Andare sul Modulo "Apri_Reg_Rep" , mentre per la maschera di dialogo è "Dlg_Reg_Rep"
Spero di esser stato chiaro, e chiedevo se era possibile vedere un'applicazione pratica per capire come devo modificare la macro.
Un grazie in anticipo a chi mi darà una mano
- Allegati
-
- Anagrafica ver1.ods
- (51.48 KiB) Scaricato 209 volte
Ultima modifica di sanraff il lunedì 19 giugno 2017, 18:41, modificato 3 volte in totale.
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
non mi è chiaro cosa intendi per filtro e cosa vuoi filtrare
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
Ciao patel, cercherò di spiegarmi meglio con un esempio.
Entrando sul foglio "Registro", e prendendo come riferimento da tabella il soggetto che ha per cognome e nome studente "DD", quest'ultimo in due periodi diversi come data di iscrizione, ha frequentato lo stesso corso di cui uno l'ha finito e l'altro no.
Adesso cliccando sul pulsante "Report" e ricercando dalla ListaBox questo soggetto, nel riquadro "Report" della maschera di dialogo, devono essere riportati tutti i dati a lui correlati, quindi dovrei vedere le due date di iscrizione, i tipi di corso che ha frequentato, il loro stato e tutte le presenze parziali poste nei singoli mesi ed il totale delle ore svolte nell'anno.
Questa cosa potrei realizzarla direttamente sul foglio di calcolo andando in "Dati" e poi "Filtro Automatico", che mi restituirebbe in un'unica visualizzazione, tutta la sua storia, ma sto cercando di capire se posso fare la stessa operazione anche in una maschera di dialogo.
Per il momento con la macro che ho realizzato, riesco a visualizzare le singole righe in corrispondenza del soggetto richiamato, cioè per vedere tutta la sua storia devo richiamarlo più volte, mentre come ho già detto prima, vorrei creare un filtro, cioè una volta richiamato il soggetto, devo poter vedere in un'unica visualizzazione tutta la sua storia.
Cmq se fai test, capisci subito di cosa sto parlando.
Grazie per il tuo aiuto.
Entrando sul foglio "Registro", e prendendo come riferimento da tabella il soggetto che ha per cognome e nome studente "DD", quest'ultimo in due periodi diversi come data di iscrizione, ha frequentato lo stesso corso di cui uno l'ha finito e l'altro no.
Adesso cliccando sul pulsante "Report" e ricercando dalla ListaBox questo soggetto, nel riquadro "Report" della maschera di dialogo, devono essere riportati tutti i dati a lui correlati, quindi dovrei vedere le due date di iscrizione, i tipi di corso che ha frequentato, il loro stato e tutte le presenze parziali poste nei singoli mesi ed il totale delle ore svolte nell'anno.
Questa cosa potrei realizzarla direttamente sul foglio di calcolo andando in "Dati" e poi "Filtro Automatico", che mi restituirebbe in un'unica visualizzazione, tutta la sua storia, ma sto cercando di capire se posso fare la stessa operazione anche in una maschera di dialogo.
Per il momento con la macro che ho realizzato, riesco a visualizzare le singole righe in corrispondenza del soggetto richiamato, cioè per vedere tutta la sua storia devo richiamarlo più volte, mentre come ho già detto prima, vorrei creare un filtro, cioè una volta richiamato il soggetto, devo poter vedere in un'unica visualizzazione tutta la sua storia.
Cmq se fai test, capisci subito di cosa sto parlando.
Grazie per il tuo aiuto.
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
a me sembra che tu sia sulla buona strada con quella maschera piena di textbox, non mi è ancora chiaro perché parli di filtro, vorresti fare tutto con una listbox ? dai un'occhiata qui viewtopic.php?f=26&t=8122
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
Ciao patel, ho dato un'occhiata al post da te segnalato ed ho realizzato il progetto di cui allego copia; che poi l'adatterò alle mie esigenze.
Mi sarebbe piaciuto realizzarlo con le "ListBox" per l'intercettazione dei dati come ho visto in alcuni post realizzati da charlie che però si riferivano a "Base", ma non avendo acquisito molta esperienza ho rielaborato il file proposto nel post da te suggerito ed è venuto fuori questo progetto, che ho chiamato "Filtra con maschera di dialogo", che in effetti si comporta come da nome.
Come funziona:
Dopo aver lanciato il file, si preme sul pulsante "Attiva filtro" che apre la maschera di dialogo preposta a svolgere tale compito, poi si clicca sul "OptionButton --> Carica Clienti" per dar modo al sistema di caricare le informazioni da filtrare, ci impiega circa 3; 4 secondi.
A questo punto tramite la "TextBox --> Ricerca" inizio a scrivere seguendo l'ordine "Cognome, Nome ed eventuale Data di Nascita" il soggetto da ricercare ed il programma mi restituisce sotto forma di "Filtro" i dati correlati, cioè si comporta come il "Filtro Automatico" visibile nel menù a tendina di "Dati" del programma di "Calc".
Dico questo perchè se si ha la necessità di cercare due soggetti che hanno lo stesso cognome, nome e data di nascita ma nati in luoghi diversi, con questo metodo, il sistema me lo propone in un'unica visualizzazione, come se ho la necessità di verificare per un singolo soggetto a quanti corsi si è scritto con l'esito della frequentazione, il sistema mi restituisce i dati in un'unica visualizzazione comportandosi come un filtro.
Cmq se fai test, capisci meglio di cosa sto parlando.
L'unico inconveniente è che mi sembra un pò instabile, cioè tra una ricerca e l'altra a volte si blocca per un pò e poi ritorna a funzionare, lo verifichi meglio facendo test, quindi prima di mettere "Risolto" mi faceva piacere sapere se si poteva apportare qualche miglioria.
N.B.. ho provato anche le macro di Gaetanopr, però non è quello che stavo cercando
Mi sarebbe piaciuto realizzarlo con le "ListBox" per l'intercettazione dei dati come ho visto in alcuni post realizzati da charlie che però si riferivano a "Base", ma non avendo acquisito molta esperienza ho rielaborato il file proposto nel post da te suggerito ed è venuto fuori questo progetto, che ho chiamato "Filtra con maschera di dialogo", che in effetti si comporta come da nome.
Come funziona:
Dopo aver lanciato il file, si preme sul pulsante "Attiva filtro" che apre la maschera di dialogo preposta a svolgere tale compito, poi si clicca sul "OptionButton --> Carica Clienti" per dar modo al sistema di caricare le informazioni da filtrare, ci impiega circa 3; 4 secondi.
A questo punto tramite la "TextBox --> Ricerca" inizio a scrivere seguendo l'ordine "Cognome, Nome ed eventuale Data di Nascita" il soggetto da ricercare ed il programma mi restituisce sotto forma di "Filtro" i dati correlati, cioè si comporta come il "Filtro Automatico" visibile nel menù a tendina di "Dati" del programma di "Calc".
Dico questo perchè se si ha la necessità di cercare due soggetti che hanno lo stesso cognome, nome e data di nascita ma nati in luoghi diversi, con questo metodo, il sistema me lo propone in un'unica visualizzazione, come se ho la necessità di verificare per un singolo soggetto a quanti corsi si è scritto con l'esito della frequentazione, il sistema mi restituisce i dati in un'unica visualizzazione comportandosi come un filtro.
Cmq se fai test, capisci meglio di cosa sto parlando.
L'unico inconveniente è che mi sembra un pò instabile, cioè tra una ricerca e l'altra a volte si blocca per un pò e poi ritorna a funzionare, lo verifichi meglio facendo test, quindi prima di mettere "Risolto" mi faceva piacere sapere se si poteva apportare qualche miglioria.
N.B.. ho provato anche le macro di Gaetanopr, però non è quello che stavo cercando
- Allegati
-
- Filtra con maschera di dialogo.ods
- (20.38 KiB) Scaricato 195 volte
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
mi sembra un ottimo lavoro, nel frattempo ho fatto delle prove anch'io con una listbox unica, vedi allegato
- Allegati
-
- ListboxMultiFiltrata.ods
- (19.65 KiB) Scaricato 159 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
scusami patel, non riesco a lanciare la tua macro.
Dopo l'apertura del file, non avendo visto alcun pulsante, sono andato nel percorso da "Strumenti ecc.. " per eseguire la macro, però su questa riga mi restituisce l'errore:
..... segue una parte di codice dalla sub "listboxmulti"
end with
' add columns
columnmodel = gridmodel.ColumnModel
col = columnmodel.createColumn() ------------ > "Variabile dell'oggetto non trovata "
puoi spiegarmi come posso fare test con la tua soluzione ?
grazie
Dopo l'apertura del file, non avendo visto alcun pulsante, sono andato nel percorso da "Strumenti ecc.. " per eseguire la macro, però su questa riga mi restituisce l'errore:
..... segue una parte di codice dalla sub "listboxmulti"
end with
' add columns
columnmodel = gridmodel.ColumnModel
col = columnmodel.createColumn() ------------ > "Variabile dell'oggetto non trovata "
puoi spiegarmi come posso fare test con la tua soluzione ?
grazie
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
Non so, ma veramente hai la versione 3.3 ? te lo riallego
- Allegati
-
- ListboxMultiFiltrata.ods
- (20.19 KiB) Scaricato 158 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
ho riprovato, niente da fare.
Si ho la versione 3.3 e tu??
In base all'errore che mi da in che modo potrei cambiare la macro??
Si ho la versione 3.3 e tu??
In base all'errore che mi da in che modo potrei cambiare la macro??
OpenOffice 3.3 SU WINDOWS 7
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Creare filtro in una maschera di dialogo
Buongiorno,
La macro di patel utilizza un controllo di tabella, che fu introdotto nella versione 3.4 (vedere qua).
Quindi non può funzionare senza aggiornare il programma…
La macro di patel utilizza un controllo di tabella, che fu introdotto nella versione 3.4 (vedere qua).
Quindi non può funzionare senza aggiornare il programma…
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
Re: Creare filtro in una maschera di dialogo
Buonasera Hubert, piacere di fare la tua conoscenza, ho fatto l'upgrade però non mi è chiara una cosa, la macro realizzata da patel, visualizza sempre e comunque i dati in tabella oppure li filtra come avviene con la mia?, chiedo questo perchè quando faccio la ricerca attraverso la "TextBoX", i dati riportati in tabella iniziano a sfalsare e non so se dipende dalla versione installata la 3.4.
grazie cmq per il vostro contributo.
grazie cmq per il vostro contributo.
OpenOffice 3.3 SU WINDOWS 7
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Creare filtro in una maschera di dialogo
Da me funziona alla perfezione (sia con AOO 4.1.3 che con LibO 5.3.3).
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
Re: Creare filtro in una maschera di dialogo
sanraff, visto che hai deciso di aggiornare fallo sul serio con l'ultima versione 4.1.3
Tieni presente che la listbox viene creata via codice e quindi non la trovi nella finestra di editing
Tieni presente che la listbox viene creata via codice e quindi non la trovi nella finestra di editing
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
Buon pomeriggio patel, ho fatto come mi hai detto, ho aggiornato la versione e la tua macro funziona benissimo, anzi complimenti per il lavoro svolto.
Adesso prima di mettere "Risolto", volevo chiederti due informazioni a riguardo e se mi potevi insegnare come si fa a fare questo:
1) Le colonne che si vengono a creare all'interno della tabella della maschera di dialogo, si possono modificare?, cioè se volessi diminuire la larghezza della colonna del "Cod" e della "Q.tà", lasciando invariate le altre, che stringa devo aggiungere nella macro e dove?
2) L'intestazione di colonna, cioè "Cognome, Nome, Descrizione ecc....", possono essere posizionate al centro? e se si che stringa devo aggiungere nella macro e dove?
E poi è possibile capire la differenza tra la sub "listfill" e la sub"listfil"
ti ringrazio ancora una volta per il tuo contributo
Adesso prima di mettere "Risolto", volevo chiederti due informazioni a riguardo e se mi potevi insegnare come si fa a fare questo:
1) Le colonne che si vengono a creare all'interno della tabella della maschera di dialogo, si possono modificare?, cioè se volessi diminuire la larghezza della colonna del "Cod" e della "Q.tà", lasciando invariate le altre, che stringa devo aggiungere nella macro e dove?
2) L'intestazione di colonna, cioè "Cognome, Nome, Descrizione ecc....", possono essere posizionate al centro? e se si che stringa devo aggiungere nella macro e dove?
E poi è possibile capire la differenza tra la sub "listfill" e la sub"listfil"
ti ringrazio ancora una volta per il tuo contributo
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
1) e 2) non so risponderti, anch'io non conoscevo questa possibilità di creare listbox multi column, quindi questa è stata la prima esperienza. Come ti ho già detto nelle discussioni precedenti ho iniziato a lavorare con le finestre di dialogo insieme a te.
Puoi eliminare la la sub"listfil", è stato il mio primo tentativo ma consuma risorse inutilmente.
Puoi eliminare la la sub"listfil", è stato il mio primo tentativo ma consuma risorse inutilmente.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
ciao patel, ho letto le tue considerazioni e ti rinnovo i complimenti per il lavoro svolto, magari prima di scrivere subito "Risolto", aspetto l'intervento di qualche altro visitatore per accingere alla soluzione del problema.
grazie ancora per il tuo prezioso contributo
grazie ancora per il tuo prezioso contributo
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
Gaetanooooo, ci sei ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
Non si "logga" da più di 20 giorni ....patel ha scritto:Gaetanooooo, ci sei ?
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Creare filtro in una maschera di dialogo
grazie Charlie, allora aspettiamo
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Creare filtro in una maschera di dialogo
Le proprietà di una “gridcolumn” sono descritte qua. ColumnWidth, MaxWidth oppure MinWidth dovrebbero farlo.sanraff ha scritto:1) Le colonne che si vengono a creare all'interno della tabella della maschera di dialogo, si possono modificare?, cioè se volessi diminuire la larghezza della colonna del "Cod" e della "Q.tà", lasciando invariate le altre, che stringa devo aggiungere nella macro e dove?
C'è anche une proprietà HorizontalAlign, i cui valori sono quelle.sanraff ha scritto:2) L'intestazione di colonna, cioè "Cognome, Nome, Descrizione ecc....", possono essere posizionate al centro? e se si che stringa devo aggiungere nella macro e dove?
Ho adattato la macro di patel per illustrare tutto ciò.
- Allegati
-
- ListboxMultiFiltrata.ods
- (19.6 KiB) Scaricato 115 volte
Ultima modifica di hubert lambert il mercoledì 14 giugno 2017, 22:06, modificato 1 volta in totale.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
Re: Creare filtro in una maschera di dialogo
grazie hubert, con te abbiamo trovato una ottima alternativa a Gaetanopr, il nostro maestro fino ad ora
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
buon pomeriggio ragazzi, ho letto le indicazioni proposte da hubert ed ho apprezzato ancora di più nell'averci messo a disposizione un suo lavoro, unendo la teoria alla pratica.
Ti ringrazio nuovamente patel per il tuo prezioso contributo estendendolo anche al nostro amico hubert per il suo tocco finale.
Per quanto riguarda Gaetanopr, anche a me farebbe piacere risentirlo ogni tanto, visto che è stato un'ottima guida e mi ha insegnato tantissime cose.
Ti ringrazio nuovamente patel per il tuo prezioso contributo estendendolo anche al nostro amico hubert per il suo tocco finale.
Per quanto riguarda Gaetanopr, anche a me farebbe piacere risentirlo ogni tanto, visto che è stato un'ottima guida e mi ha insegnato tantissime cose.
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
Scusatemi se riapro la discussione, però facendo dei test sulla macro di hubert, sono incappato in due problemi non di poco conto che non sono riuscito a risolvere.
Mi spiego:
1) Ammettiamo di voler filtrare per la tabella riportata in Calc solo i dati visibili nella colonna "Cognome, Nome e Descrizione", tralasciando gli altri; in che modo devo modificare la macro?, per il momento ho capito che la stringa "CellRange = Sheet.getCellRangeByPosition(0,1,4,LastRow)" è quella che gestisce la cosa e fa vedere tutte le colonne in sequenza, senza darmi la possibilità di gestirle come voglio, fermo restando che le colonne impostate nella tabella di Calc devono restare nella loro posizione.
2)Ammettiamo di dover gestire tante colonne che per una questione di spazio, non possono essere rappresentate in un'unica tabella creata all'interno della maschera di dialogo, quindi volendone creare due posizionate una sopra l'altra, in cui in una vengono visualizzati i dati anagrafici e nella seconda quelli descrittivi esempio nella prima tabella vengono riportati "Cognome, Nome, Data di nascita ecc.." mentre nella seconda vengono riportati "Descrizione, Codice art., Q.tà ecc...", con la premessa che devono lavorare in modo sincronizzato, in che modo va modificata la macro?.
E' possibile avere un vostro aiuto??, grazie
Mi spiego:
1) Ammettiamo di voler filtrare per la tabella riportata in Calc solo i dati visibili nella colonna "Cognome, Nome e Descrizione", tralasciando gli altri; in che modo devo modificare la macro?, per il momento ho capito che la stringa "CellRange = Sheet.getCellRangeByPosition(0,1,4,LastRow)" è quella che gestisce la cosa e fa vedere tutte le colonne in sequenza, senza darmi la possibilità di gestirle come voglio, fermo restando che le colonne impostate nella tabella di Calc devono restare nella loro posizione.
2)Ammettiamo di dover gestire tante colonne che per una questione di spazio, non possono essere rappresentate in un'unica tabella creata all'interno della maschera di dialogo, quindi volendone creare due posizionate una sopra l'altra, in cui in una vengono visualizzati i dati anagrafici e nella seconda quelli descrittivi esempio nella prima tabella vengono riportati "Cognome, Nome, Data di nascita ecc.." mentre nella seconda vengono riportati "Descrizione, Codice art., Q.tà ecc...", con la premessa che devono lavorare in modo sincronizzato, in che modo va modificata la macro?.
E' possibile avere un vostro aiuto??, grazie
OpenOffice 3.3 SU WINDOWS 7
Re: Creare filtro in una maschera di dialogo
Buonasera a tutti, purtroppo in questi giorni sono stato molto impegnato, ho letto questa discussione da cellulare quindi non ho scaricato i file di esempio.
Ho diversi lavori con i gridcontrol, sanraff se alleghi un file(non so quale scaricare) e riassumi le tue richieste stasera se ho due minuti vedo se posso aiutarti pure io.
Ciao
Ho diversi lavori con i gridcontrol, sanraff se alleghi un file(non so quale scaricare) e riassumi le tue richieste stasera se ho due minuti vedo se posso aiutarti pure io.
Ciao
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Creare filtro in una maschera di dialogo
eravamo preoccupati...ci mancavi.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Creare filtro in una maschera di dialogo
Ciao Gaetanopr, innanzitutto ti do anch'io il ben tornato e ti ringrazio per la tua disponibilità.
Come da te richiesto in allegato metto il lavoro svolto dall'amico hubert e di seguito riporto le mie ultime considerazioni:
Spero di esser stato chiaro ed ancora grazie per il tuo contributo.
Come da te richiesto in allegato metto il lavoro svolto dall'amico hubert e di seguito riporto le mie ultime considerazioni:
sanraff ha scritto:facendo dei test sulla macro di hubert, sono incappato in due problemi non di poco conto che non sono riuscito a risolvere.
Mi spiego:
.sanraff ha scritto:1) Ammettiamo di voler filtrare per la tabella riportata in Calc solo i dati visibili nella colonna "Cognome, Nome e Descrizione", tralasciando gli altri; in che modo devo modificare la macro?, per il momento ho capito che la stringa "CellRange = Sheet.getCellRangeByPosition(0,1,4,LastRow)" è quella che gestisce tutte le colonne in forma sequenziale, senza darmi la possibilità di gestirle come voglio cioè di visualizzare solo quelle che mi interessa filtrare; fermo restando che le colonne impostate nella tabella di Calc devono restare nella loro posizione.
2)Ammettiamo di dover gestire tante colonne che per una questione di spazio, non possono essere rappresentate in un'unica tabella creata all'interno della maschera di dialogo, quindi volendone creare due posizionate una sopra l'altra, in cui in una vengono visualizzati i dati anagrafici e nella seconda quelli descrittivi esempio nella prima tabella vengono riportati "Cognome, Nome, Data di nascita ecc.." mentre nella seconda vengono riportati "Descrizione, Codice art., Q.tà ecc...", con la premessa che devono lavorare in modo sincronizzato, in che modo va modificata la macro?.
Spero di esser stato chiaro ed ancora grazie per il tuo contributo.
- Allegati
-
- ListboxMultiFiltrata (hubert).ods
- (16.02 KiB) Scaricato 89 volte
OpenOffice 3.3 SU WINDOWS 7
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Creare filtro in una maschera di dialogo
Buongiorno a tutti,
Sono molto felice di aver scoperto il vostro amichevole forum. Non e tanto facile per me scrivere in italiano, spero che non sia nemmeno penoso per voi.
per ottenere i dati dal foglio poi
per la creazione delle colonne corrispondente.
Sarà più complicato se le colonne non sono contigue, perché bisogna allora indicare alla macro quali sono i dati da inserire nelle righe. Allego un esempio, dovediventacioè le prima, seconda e quarta valore della riga r.
Spero di essere stato chiaro
Sono molto felice di aver scoperto il vostro amichevole forum. Non e tanto facile per me scrivere in italiano, spero che non sia nemmeno penoso per voi.
Se les colonne sono contigue, basta modificare alcune linee :sanraff ha scritto:1) Ammettiamo di voler filtrare per la tabella riportata in Calc solo i dati visibili nella colonna "Cognome, Nome e Descrizione", tralasciando gli altri; in che modo devo modificare la macro?, per il momento ho capito che la stringa "CellRange = Sheet.getCellRangeByPosition(0,1,4,LastRow)" è quella che gestisce tutte le colonne in forma sequenziale, senza darmi la possibilità di gestirle come voglio cioè di visualizzare solo quelle che mi interessa filtrare; fermo restando che le colonne impostate nella tabella di Calc devono restare nella loro posizione.
Codice: Seleziona tutto
CellRange = Sheet.getCellRangeByPosition(primacol, primariga, ultimacol, ultimariga)
Codice: Seleziona tutto
intestazione = array(intesta1, intesta2,...)
max_largh = array(largh1, largh2,...)
Sarà più complicato se le colonne non sono contigue, perché bisogna allora indicare alla macro quali sono i dati da inserire nelle righe. Allego un esempio, dove
Codice: Seleziona tutto
rows(r) = Dati(r) 'cioè tutta la riga r
Codice: Seleziona tutto
rows(r) = array(Dati(r)(0), Dati(r)(1), Dati(r)(3))
Spero di essere stato chiaro
- Allegati
-
- ListboxMultiFiltrata (hubert2).ods
- (16.96 KiB) Scaricato 113 volte
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
Re: Creare filtro in una maschera di dialogo
Ciao hubert, non mi ero neppure accorto che tu non fossi italiano, ora facendo attenzione qualche cosa si nota, ma complimenti !!! scrivi molto bene in italiano.
sei francese ? (Se les colonne)
sei francese ? (Se les colonne)
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Creare filtro in una maschera di dialogo
Grazie mille... e si, sono francese (mi sono tradito ). Ma da genitore nati in Italia, ecco perché sono cercando opportunità di esercitarmi...patel ha scritto:Ciao hubert, non mi ero neppure accorto che tu non fossi italiano, ora facendo attenzione qualche cosa si nota, ma complimenti !!! scrivi molto bene in italiano.
sei francese ? (Se les colonne)
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
Re: Creare filtro in una maschera di dialogo
.sanraff ha scritto: 2)Ammettiamo di dover gestire tante colonne che per una questione di spazio, non possono essere rappresentate in un'unica tabella creata all'interno della maschera di dialogo, quindi volendone creare due posizionate una sopra l'altra, in cui in una vengono visualizzati i dati anagrafici e nella seconda quelli descrittivi esempio nella prima tabella vengono riportati "Cognome, Nome, Data di nascita ecc.." mentre nella seconda vengono riportati "Descrizione, Codice art., Q.tà ecc...", con la premessa che devono lavorare in modo sincronizzato, in che modo va modificata la macro?.
Io comincerei a modificare il tuo progetto in modo da ottenere la prima listbox multipla filtrata, una volta che funziona sarà facile fare la seconda
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta