Caselle di riepilogo correlate

Discussioni sulle caratteristiche di database
Rispondi
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Caselle di riepilogo correlate

Messaggio da Muset »

Ciao, nel formulario Acquisti vorrei che nella lista di casella di riepilogo Materie ci fossero solo gli articoli del fornitore selezionato nella casella di riepilogo Fornitore. E' possibile?
Ultima modifica di Muset il giovedì 8 aprile 2021, 17:08, modificato 1 volta in totale.
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

Ciao, inserisci un link al database di riferimento o allega un esempio.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

Nuovo database - Copia1.odb
(55.65 KiB) Scaricato 139 volte
il formulario in questione è FTAcquisti
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

Ciao, il forum contiene sicuramente degli esempi di listbox in cascata, senza e con macro.
Hai provato a cercare?
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

MarcaSerie9.odb
(24.04 KiB) Scaricato 138 volte
Si ho cercato, su 11 risultati non ho trovato quello che cerco, l'unico che credevo fosse possibile era quello che ti allego, lo sto valutando, ma non mi sembra che faccia quello che voglio. Intanto grazie comunque, non è una esigenza cosi importante, sei sempre cortese e preparato, buona serata.
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

Buongiorno, intanto grazie per il link
domanda: visto che Fornitore ha solo i suoi prodotti e non viceversa, la tabella Assegnazione e rispettivo formulario, serve? credo di no
dovrebbe essere sufficiente solo Filtro nel mio caso...
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

Probabilmente sì.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

prova01.odb
(34.11 KiB) Scaricato 124 volte
Buonasera,
ho provato più soluzioni con e senza macro suggerite da te e da Gaetano, ma nel caso di "Listbox in cascata" devo fare un'assegnazione in tab Filtro ogni qualvolta aggiungo una materia nuova in tab materie. Nel suggerimento di Gaetano "Nuovo database 11" prevede assegnazione IDfornitore Nome materia, in entrambi i casi quando inserisco una nuova materia devo fare un'assegnazione ( 2 operazioni, inserimento + assegnazione). Mi sono azzardato anche con solo query ottenendo 0 risultati. Eppure non mi sembra cosi difficile sulla teoria, scelgo fornitore in listbox 1 e in listbox 2 trovo filtrati i prodotti di quel fornitore, ma non ne vengo a capo :crazy: Se puoi indicarmi la soluzione più appropriata ti sarei molto grato. Grazie e buona serata
Allegati
Nuovo database11.odb
(14.97 KiB) Scaricato 129 volte
ListboxInCascata.odb
(21.66 KiB) Scaricato 149 volte
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

La soluzione proposta da @Gaetanopr è migliore, non richiede la conferma con pulsante.
Ma in ogni caso ci vuole una tabella di riferimento che dica a quale fornitore fa capo un prodotto e va aggiornata ogni volta che si inserisce un nuovo prodotto.
Nell'esempio citato è la tabella 'luogo', in quell'atro era 'assegnazione'.
Appena posso provo a cimentarmi con il tuo database.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

Ti ringrazio per la pazienza, mi sono accorto che nel file che ti ho inviato manca una query, ti reinvio il file completo, magari può essere d'aiuto o d'ispirazione a qualcuno, tanto i dati sono tutti di fantasia. Grazie
Allegati
Nuovo database - Copia.odb
(113.78 KiB) Scaricato 121 volte
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

Ciao, ho lavorato un po' sull'esempio con macro che adopera caselle combinate (diverse da quelle di riepilogo), il risultato è nel form PROVA.
Ho usato caselle combinate direttamente sulle chiavi primarie anziché sui nomi campo e, una volta adeguata anche la macro, il test funziona: il contenuto filtrato dalla prima combo viene passato alla seconda.
Ma è un test didattico da "trasferire" sui nomi campo perché possa avere scopi pratici.
Allegati
Prova_Combobox_Cascata.odb
(122.86 KiB) Scaricato 133 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

Buongiorno, come al solito sei stato eccellentemente esaustivo, la logica che avevo in mente era quella giusta, non sapevo metterla giù in codice. Ora mi cimento ad interpretarla per acquisire la logica di sintassi. Applicarla al mio db non dovrebbe essere un problema. Come aiuto mi appoggerò al tuo " Guida alla programmazione in OpenOffice.org Basic" che ho trovato cercando soluzioni in rete.
LibreOffice 7.3.4.2 (x64) Windows 11
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: [Risolto]Caselle di riepilogo correlate

Messaggio da Muset »

Buongiorno " Prof " charlie , evidentemente sono stato troppo ottimista con la trasposizione della versione didattica. Dimmi se o dove sbaglio nella macro:
seleziono Materie da Tmaterieprime DOVE l' ID fornitori è = a sleziono ID fornitori da T fornitori DOVE il (nome) Azienda = (la vedrò nella listbox di fornitore) poi nella sql della casella combinata di materia, se non mi dicesse "sintax ambigus" avrei messo ( SELECT [ID Fornitori] FROM [T Fornitori] WHERE [Azienda] = ' xxxx') illuminami :D
come sempre grazie per la pazienza
Allegati
Prova_Combobox_Cascata2.odb
(122.9 KiB) Scaricato 104 volte
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto]Caselle di riepilogo correlate

Messaggio da charlie »

Muset ha scritto:Buongiorno " Prof " charlie
non esageriamo, le cose le imparo qui anch'io sperimentando per "passione" assieme a voi ;) .

Il problema principale è che lavoriamo con caselle combinate le quali non "supportano" un campo collegato come le caselle di riepilogo e quindi lavorano direttamente sul campo interessato.
Schermata 2021-04-09 alle 16.31.28.png
Il lavoro da provare a fare è quello di modificate le tabelle usando come chiavi secondarie i nomi campo.
Oppure provare ad usare le caselle di riepilogo al posto delle combo ma non sono sicuro che il codice

Codice: Seleziona tutto

oControl.Listsource = ARRAY(0) 
vada bene ancora.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: [Risolto]Caselle di riepilogo correlate

Messaggio da Muset »

Ciao, stavo pensando proprio a quello e mi ero posto proprio il problema della matrice array , sto cercando in rete, avrei trovato dei video sull'uso delle matrici, ma è per vb, quindi ti chiedo se c'è differenza sull'uso tra basic e visual basic. Se ti può interessare cerca " come usare la matrice (array) in visul basic "
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto]Caselle di riepilogo correlate

Messaggio da charlie »

Ciao, no non è un problema dell'array, ma quello di vedere se le listbox hanno una proprietà Listsource come le combobox.
Forse trovi qualcosa qui: viewtopic.php?f=29&t=10531

Edit: ho controllato e la proprietà Listsource è presente.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: [Risolto]Caselle di riepilogo correlate

Messaggio da Muset »

Ciao, ho provato in svariati modi ad adattare la tua soluzione, ma evidentemente sbglio qualcosa, nella sql della casella di riepilogo quando gli aggiungo il criterio nella casella di riepilogo Materie, sotto ID Fornitori di T Materie Prime: ( SELECT [ID Fornitori] FROM [TFornitori] WHERE [ID Fornitori] = '1' ) , mi rispone " Sintax ambigous" e non la accetta manco se gli offro una birra... Qunidi decade la prova di cambiare le combobox con le caselle di riepilogo. Preso dallo sconforto, ho scandagliato il link sulle macro che mi hai girato ed avrei trovato una potenziale soluzione nel paragrafo " Filtro dei record ", ora sto cercando di interpretarlo e capirlo... Quel link non è semplice da interpretare nonostante le spiegazioni ( per un coccio come me), ma comunque mi sta aprendo nuovi scenari e possibilità. Grazie
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

Vedi questo nuovo lavoro.
  • Al caricamento del formulario, vengono visualizzati tutti i dati presenti.
  • La prima ListBox seleziona un fornitore le cui materie vengono tutte mostrate.
  • La seconda LisBox seleziona una sola materia del fornitore già selezionato.
Problemi riscontrati:
  • i campi non accettano caratteri come l'apostrofo (Il pollaio d'oro è diventato 'di oro')
  • talvolta la seconda ListBox mostra, per le materie del solo fornitore 'Il pollaio di oro', delle voci non selezionabili con sfondo bianco (bug non risolto neanche rifacendo la casella di riepilogo, inspiegabile)
Allegati
ListBox_in_cascata_con_macro.odb
(19.27 KiB) Scaricato 123 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

Buongiorno, intanto ti rinnovo la gratitudine per il tempo e l'impegno che mi dedichi,
questa soluzione a prima vista funziona come vorrei, ma quando vado ad inserire un nuovo acquisto, nel momento in cui seleziono il fornitore mi dà errore su (oForm.updateRow(). Mi chiedevo, essendo le listbox basate su Tfiltro, come assegna l' ID Fornitore e l' ID Materia al nuovo record in TAcquisti? sii clemente con la mia ignoranza, ma essendo una Form di inserimento la domanda mi sorge spontanea.
Io mi ero soffermato sulla Form fornitori ove questo filtraggio c'è già attraverso la query RForMat e, prima di quest'ultimo tuo aggiornamento, stavo ragionando (sul piano teorico ovviamente) su come applicare quel filtraggio sulle caselle di riepilogo facendogli trasferire gli ID necessari in TAcquisti. Mi spiego: lasciando com'è la casella riepilogo Fornitori (quindi mi copia l'ID in TAcquisti) dovrei dire alla casella riepilogo Materie di pescare, tramite RForMat condizionata dal fornitore selezionato, il risultato del filtraggio e grazie alle peculiarità della casella di riepilogo portarsi anche l'ID materie. Per la serie..Machiavelli scansati!! :D
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Caselle di riepilogo correlate

Messaggio da charlie »

Ciao, credo ci sia un equivoco, quel formulario con macro serve solo per la visualizzazione di record esistenti.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Caselle di riepilogo correlate

Messaggio da Muset »

Ciao, lo avevo immaginato, ma siccome devo INSERIRE gli acquisti, sto pensando ad una soluzione forse più pratica ed efficace al mio scopo, considerando anche che alcuni fornitori avranno una lista di 30+ articoli (es. Packaging). Usare il " Limitare le caselle di riepilogo inserendo le lettere iniziali " (stile FileMaker) dal tuo link sulle macro . Mi sembra la soluzione più adatta. Ora vediamo se riesco a realizzare la macro e l'sql nel modo corretto. Anche se cambio soluzione, faccio tesoro dei tuoi suggerimenti e indicazioni che mi saranno indubbiamente utili prossimamente.
LibreOffice 7.3.4.2 (x64) Windows 11
Rispondi