[Risolto] Macro per ricerca righe all' interno di una tabella
[Risolto] Macro per ricerca righe all' interno di una tabella
Buongiorno a tutti. Ho provato a cercare nei vari forum spunto per realizzare cio' di cui ho bisogno ma non sono riuscito a mettere tutto insieme.
Come da files esempio allegati ho creato un semplice archivio su DB per poter tracciare un determinato componente, la sua installazione, rimozione, e comesse per gestire le varie movimentazioni dell' articolo.
Attraverso il file MAGAZZINO_TEST.ods e premendo il pulsante " CARICA MAGAZZINO" vado a generare la tabella sottostante anadando a leggerla dal DB ARTICOLI_FURGONE.
Mi piacerebbe ora realizzare una macro che, inserendo una stringa di ricerca nella cella H5 del file ods (potrebbe essere una data, descrizione articolo, codice univoco ecc.) e premendo il pulsante "CERCA", poter generare una nuova tabella, sovrascrivendo quella sottostante esistente, composta solo dalle righe che contengano la stringa ricercata.
Ora il file e' solo agli inizi quindi il DB e' composto da poche voci, utilizzando i filtri standard mi risulterebbe poi scomodo dover effettuare la ricerca tra molte voci all' interno del filtro. Con una macro specifica risolverei alla grande.
Ovviamente la tabella di origine non sara' fissa, inserendo nuovi articoli si popolera' di nuove righe, quindi anche la macro dovra' tenere conto di questo.
Ringrazio anticipatamente chi volesse affrontare la questione
Come da files esempio allegati ho creato un semplice archivio su DB per poter tracciare un determinato componente, la sua installazione, rimozione, e comesse per gestire le varie movimentazioni dell' articolo.
Attraverso il file MAGAZZINO_TEST.ods e premendo il pulsante " CARICA MAGAZZINO" vado a generare la tabella sottostante anadando a leggerla dal DB ARTICOLI_FURGONE.
Mi piacerebbe ora realizzare una macro che, inserendo una stringa di ricerca nella cella H5 del file ods (potrebbe essere una data, descrizione articolo, codice univoco ecc.) e premendo il pulsante "CERCA", poter generare una nuova tabella, sovrascrivendo quella sottostante esistente, composta solo dalle righe che contengano la stringa ricercata.
Ora il file e' solo agli inizi quindi il DB e' composto da poche voci, utilizzando i filtri standard mi risulterebbe poi scomodo dover effettuare la ricerca tra molte voci all' interno del filtro. Con una macro specifica risolverei alla grande.
Ovviamente la tabella di origine non sara' fissa, inserendo nuovi articoli si popolera' di nuove righe, quindi anche la macro dovra' tenere conto di questo.
Ringrazio anticipatamente chi volesse affrontare la questione
- Allegati
-
- MAGAZZINO_TEST.ods
- (41.44 KiB) Scaricato 55 volte
-
- ARTICOLI_FURGONE.odb
- (112.92 KiB) Scaricato 57 volte
Ultima modifica di MERE2206 il domenica 23 giugno 2024, 9:04, modificato 1 volta in totale.
OpenOffice 4.1.6 su Windows 10
Re: Macro per ricerca righe all' interno di una tabella
Ho scaricato i file, nel database ho notato che i campi, anche le date, sono tutti di tipo testo a parte L'id, come mai?
Allego file .ods con macro modificata.
Allego file .ods con macro modificata.
- Allegati
-
- MAGAZZINO_TEST.ods
- (44.92 KiB) Scaricato 48 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Macro per ricerca righe all' interno di una tabella
Grazie mille Gaetanopr , domattina accendo PC , scarico il file e do un riscontro delle tue modifiche, ora sono fuori casa e non riesco. Ho deciso di formattare le colonne delle date come stringhe perché ho riscontrato dei problemi in fase di scrittura dal file ods verso il DB ( credo legato al discorso del' apice che viene impostato in automatico) . Mettendo la formattazione come stringhe non ho più avuto problemi quindi ho lasciato così. Grazie ancora e a domani per il riscontro
OpenOffice 4.1.6 su Windows 10
Re: Macro per ricerca righe all' interno di una tabella
Buongiorno a tutti, eccomi qui dopo avere testato il file. Grazie Gaetanopr, era proprio quello che stavo cercando, la macro fa esattamente quello di cui avevo bisogno. E' nella visualizzazione pero' che non capisco il motivo per cui va a modificare l'incolonnamento, allego due foto una dove seleziono mediante filtro standard il codice magazzino 237, l' altra dove faccio la ricerca mediante la cella H5 e pulsante " CERCA".
Utilizzando quest'ultima funzione l' incolonnamento non corrisponde piu' con l' intestazione fissa evidenziata in giallo come da foto.
Controllando la macro "a occhio" non riesco a trovarne motivo. Allego foto e file ods modificato per comodita' dove il pulsante "CERCA" filtra in base alla stringa inserita in cella H5 e dove "CARICA MAGAZZINO" ricarica tutto l' archivio completo.
Grazie anticipatamente.
Utilizzando quest'ultima funzione l' incolonnamento non corrisponde piu' con l' intestazione fissa evidenziata in giallo come da foto.
Controllando la macro "a occhio" non riesco a trovarne motivo. Allego foto e file ods modificato per comodita' dove il pulsante "CERCA" filtra in base alla stringa inserita in cella H5 e dove "CARICA MAGAZZINO" ricarica tutto l' archivio completo.
Grazie anticipatamente.
- Allegati
-
- MAGAZZINO_TEST_2.ods
- (37.32 KiB) Scaricato 46 volte
-
- PULSANTE CERCA.jpg (88.9 KiB) Visto 1977 volte
-
- FILTRO.jpg (68.91 KiB) Visto 1977 volte
OpenOffice 4.1.6 su Windows 10
Re: Macro per ricerca righe all' interno di una tabella
Dipende dall'istruzione Select, io ho indicato l'asterisco importando tutte le colonne come da ordine database, ti basta cambiare la select indicando i campi con l'ordine da te desiderato
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Macro per ricerca righe all' interno di una tabella
Perfetto, guardando ora il db mi ero accorto anche io di questo, grazie di tutto .
OpenOffice 4.1.6 su Windows 10
Re: [Risolto] Macro per ricerca righe all' interno di una tabella
Di nulla.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: [Risolto] Macro per ricerca righe all' interno di una tabella
.
Fatto varie prove di ricerca con la macro (@Gaetano) utilizzando le seguenti parole:
12 Presente in colonne 1, 2 e 4 (Colonne A,B e D)
tamoil Presente in colonne 10 e 11 in MAIUSCOLO (Colonne J e K)
TAMOIL Presente in colonne 10 e 11 in MAIUSCOLO (Colonne J e K)
guasto Presente in colonna 9 in MAIUSCOLO (Colonna I)
GuAsto Presente in colonna 9 in MAIUSCOLO (Colonna I)
GUASTO Presente in colonna 9 in MAIUSCOLO (Colonna I)
ScAriCA Presente in colonna 8 in MAIUSCOLO (Colonna H)
PioMbO Presente in colonna 4 (Iniziale Indifferente minuscola o Maiuscola) (Colonna D)
Per le colonne dalla 9 in poi sembra che il riscontro avvenga solo per parola esatta.
Parola - PaROla - PAROLA - ParoLA - … sono considerate diverse
Sulle prime otto colonne sono considerate uguali.
Con l'uso di LIKE così come impostato ... c'è forse un limite alle 8 colonne ... o come modificare ?
.
Allego esito ricerche quale riscontro.
.
Fatto varie prove di ricerca con la macro (@Gaetano) utilizzando le seguenti parole:
12 Presente in colonne 1, 2 e 4 (Colonne A,B e D)
tamoil Presente in colonne 10 e 11 in MAIUSCOLO (Colonne J e K)
TAMOIL Presente in colonne 10 e 11 in MAIUSCOLO (Colonne J e K)
guasto Presente in colonna 9 in MAIUSCOLO (Colonna I)
GuAsto Presente in colonna 9 in MAIUSCOLO (Colonna I)
GUASTO Presente in colonna 9 in MAIUSCOLO (Colonna I)
ScAriCA Presente in colonna 8 in MAIUSCOLO (Colonna H)
PioMbO Presente in colonna 4 (Iniziale Indifferente minuscola o Maiuscola) (Colonna D)
Per le colonne dalla 9 in poi sembra che il riscontro avvenga solo per parola esatta.
Parola - PaROla - PAROLA - ParoLA - … sono considerate diverse
Sulle prime otto colonne sono considerate uguali.
Con l'uso di LIKE così come impostato ... c'è forse un limite alle 8 colonne ... o come modificare ?
.
Allego esito ricerche quale riscontro.
.
- Allegati
-
- Esito varie ricerche.ods
- (30.43 KiB) Scaricato 51 volte
Re: [Risolto] Macro per ricerca righe all' interno di una tabella
Ciao Lucky, grazie per la segnalazione, con l'operatore LIKE le ricerche non sono case sensitive, il problema è nel database se apri la tabella noterai che gli ultimi 4 campi sono stati dichiarati VARCHAR E NON VARCHAR_IGNORECASE, basta cambiare il tipo di campo.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10