[Risolto] Circolo Velico: ricerca posti liberi

Discussioni sulle caratteristiche di database
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

[Risolto] Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Buonasera,
sto tentando di realizzare un database dei soci e delle imbarcazioni dei soci di un circolo velico.
Un socio può possedere più imbarcazioni anche di diversa tipologia (tabella Barche_Soci) e di conseguenza un socio può occupare più "posti barca". I posti barca sono classificati in posizioni differenti (spiaggia, capanno, etc - tabella Posizione Barca e tabella PostiSpiaggia -solo esemplificativa di un tipo di posizione).
Sto provando a realizzare un formulario che mi consenta di:
1) assegnare ad un socio più posti barca
2) di presentare al momento della scelta solo i posti liberi
Il formulario su cui sto lavorando: Inserimento_PostoBarcaAssegnato_Bozza_Lavoro è costruito sulla tabella PostoBarcaAssegnato_Bozza_Lavoro

Il punto 1) credo sia a posto (anche se con molte migliorie e semplificazioni possibili), ciò che non riesco a realizzare è il punto 2) nonostante vari tentativi dei quali possono essere rinvenute delle testimonianze.

Mi potete aiutare, per favore?
PS scusate il lungo post - allego il db
Allegati
circolovelico.odb
(139.51 KiB) Scaricato 59 volte
Ultima modifica di gdm5353 il mercoledì 29 marzo 2023, 14:20, modificato 2 volte in totale.
LibreOffice 7.3 - Ubuntu 22.04 LTS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Circolo Velico: ricerca posti liberi

Messaggio da charlie »

Ciao, ho cominciato a guardare il tu db, cercando di comprenderlo prima di tutto.
Rilevo dalla tabella Soci che, per il momento, ciascun socio ha 1 barca ben precisa.
Perchè allora nel form Assegnazione PostoBarca, una volta selezionato 1 socio, mi compare un elenco a discesa con tutte le barche dei soci? Mi aspetterei di vedere la barca o le barche di quel socio.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Grazie Charlie, in realtà, nella foga di chiedere aiuto non ho ripulito per bene il db che ho inviato e, purtroppo, credo non sia pulito neanche ora. Infatti la tabella soci ed il relativo formulario sono "vecchi" e, considerando il tema "inserimento soci" superato in una versione precedente, non ho aggiornato e ripulito il db inviato. Ho aggiunto al db che allego il nuovo formulario per l'inserimento soci (inserimento Soci1) e la relativa tabella (Soci2). Ho separato la parte anagrafica dei soci dalla gestione dei posti barca, inserendo nella prima solo elementi quantitativi che (spero) serviranno poi per la definizione delle quote annuali. Mi sono concentrato quindi sulla parte per me più ostica cioè la possibilità di attribuire ad un socio più barche e relativi posti barca. Credo di aver trovato una soluzione introducendo un subformulario collegato al mainform. La soluzione sembra funzionare ma ci sono troppi pulsanti ......Sono in cerca di semplificazione. Allego il db che ho rinominato.
Grazie ancora
Allegati
circolovelico_1.odb
(149.97 KiB) Scaricato 44 volte
LibreOffice 7.3 - Ubuntu 22.04 LTS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Circolo Velico: ricerca posti liberi

Messaggio da charlie »

Secondo il mio parere, basterebbe una tabella "Posto barca" con i campi: ID, Numero posto, Posizione, Tipo barca, Socio.
Lavorando con un formulario di immissione puoi usare delle listbox per inserire la Posizione (dalla tabella omonima), Tipo barca (dalla tabella omonima) e Socio (dalla tabella omonima) e digitando il solo Numero posto. Se quest'ultimo è una chiave primaria il programma ti impedirebbe di inserirlo se esiste già.
Ma chissà quante cose non ho previsto ...
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Innanzitutto grazie Charlie per la risposta. Sicuramente la soluzione da te proposta è semplificativa (come andavo cercando) ed efficace. I posti barca sono numerosi e pensavo di mostrare in un listbox i posti barca in base alla scelta della posizione e solo quelli disponibili. Credo che la soluzione da te proposta implichi la stampa del layout dei posti barca su cui, a mano, inserire un simbolo per indicare quelli occupati. La cosa è fattibilissima ma vorrei provare a "complicarmi" la vita ancora per un po' per rendere il tutto "self contained". Ti sarei veramente grato se potessi aiutarmi....
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

charlie ha scritto: mercoledì 18 gennaio 2023, 18:41 Secondo il mio parere, basterebbe una tabella "Posto barca" con i campi: ID, Numero posto, Posizione, Tipo barca, Socio.
Lavorando con un formulario di immissione puoi usare delle listbox ..........
Pure io farei come consigliato da charlie, però userei un foglio di calcolo per gli inserimenti, quindi da base tramite macro richiamerei il foglio calc con due fogli, uno con le caselle indicanti i posti barca per avere una gestione visuale, una specie di mappa posti e il secondo foglio con tutti i dati della tabella "Posto barca" che và ad aggiornare il database.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Circolo Velico: ricerca posti liberi

Messaggio da charlie »

Ecco una bozza di come farei il lavoro. Le mie tabelle, query e i miei form sono in maiuscolo.
Allegati
circolovelico_2.odb
(169.73 KiB) Scaricato 55 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Grazie a Gaetanopr che mi ha aperto un mondo da esplorare (macro ed integrazione dei moduli libreoffice - calc+base). Mi puoi dare qualche indicazione di documentazione da studiare?
Grazie a Charlie che ha fornito una pratica implementazione. A proposito di quest'ultima ho una domanda: mi aspettavo che il campo ID nel formulario non fosse scrivibile (è chiave primaria ad incremento automatico - almeno così ho capito). Cosa ho interpretato male?
Grazie ancora per gli spunti di studio e di riflessione che mi avete dato. A presto (non vuole essere una minaccia...)
Gianni
LibreOffice 7.3 - Ubuntu 22.04 LTS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Circolo Velico: ricerca posti liberi

Messaggio da charlie »

gdm5353 ha scritto: giovedì 19 gennaio 2023, 10:37 mi aspettavo che il campo ID nel formulario non fosse scrivibile (è chiave primaria ad incremento automatico - almeno così ho capito). Cosa ho interpretato male?
La chiave primaria garantisce che non sia duplicabile ma il campo è modificabile con un valore non ancora inserito.
Per evitare disguidi, è referibile non farlo comparire nei formulari.
Gaetanopr ha scritto: mercoledì 18 gennaio 2023, 23:48 ... però userei un foglio di calcolo per gli inserimenti, quindi da base tramite macro richiamerei il foglio calc con due fogli, uno con le caselle indicanti i posti barca per avere una gestione visuale, una specie di mappa posti e il secondo foglio con tutti i dati della tabella "Posto barca" che và ad aggiornare il database.
Penso sarebbe interessante vedere questa soluzione.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

Allego solo la parte calc al momento, naturalmente è una bozza.
Il file si compone di 4 fogli, il primo è il foglio Mappa con tutti i posti distinti per posizione, ho considerato 26 posti per posizione(da modificare con i posti reali).
Possono verificarsi tre casi: Assegnato se nel foglio Dettaglio sono compilate le colonne Assegnato e Socio, Riservato se è compilata la colonna Socio ma non la colonna Assegnato e Libero se non sono compilate entrambe le colonne.
Per funzionare bisogna fare doppio sul click sulla casella del posto nel foglio Mappa in questo modo si passa al foglio Dettaglio da dove è possibile compilare tutti i dati, una volta compilati tutti i dati viene pure compilata la parte Mappa, assegnando un colore di sfondo diverso.
Cliccando sulle celle assegnate e riservate(ma non ancora assegnate) una nota indica il nome del socio e il suo stato.
Riservato è quando un posto è in stand by cioè in fase di assegnazione ad un dato socio, quindi tra libero e assegnato.
Nelle celle in basso al foglio Mappa c'è un contatore di posti, nel foglio Dettagli tramite il filtro puoi filtrare i dati per Socio , posto ed altro.

PS: Per prima cosa devi abilitare il programma alle macro andando su Strumenti - Opzioni - Sicurezza - Sicurezza delle macro - imposti a medio, ad ogni apertura del file ti comparirà una finestra dove dovrai selezionare il pulsante Abilita macro.

PS: File aggiornato con la ripresa dei posti assegnati e riservati nel foglio Soci
Allegati
Gestione_Barche (1).ods
NUOVO FILE
(21.42 KiB) Scaricato 62 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Circolo Velico: ricerca posti liberi

Messaggio da charlie »

:super: Bello, di impatto visivo. E funzionale.

Ps: (la somma dei posti liberi va aggiornata: U15 al posto di R15)
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

charlie ha scritto: giovedì 19 gennaio 2023, 15:56 Ps: (la somma dei posti liberi va aggiornata: U15 al posto di R15)
Giusto, grazie charlie ho optato per un nome definito in caso di variazione dei posti.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Grazie Gaetano,
sono veramente colpito dalla tua implementazione.
Mi serve, ora, molto tempo per studiare le macro utilizzate e successivamente per capire se e come poter integrare questo modulo, che potrebbe essere gestito autonomamente dal Direttore della Base Nautica, nel database del Circolo. In sostanza come poter far attingere questo modulo al database dei soci e come legare i risultati al "gestionale" (termine quanto mai presuntuoso applicato al caso) del Circolo.
Avrò sicuramente molte domande dopo lo studio..
Buona giornata
Gianni
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

Salve Gianni, mi fa piacere che l'idea sia piaciuta, per fare interagire Calc con il database occorre scrivere una procedura che agisce in silenzio dietro le quinte che oltre a compilare il foglio Mappa vada ad aggiornare il db, quindi tutto in maniera automatica, altrimenti non avrebbe senso.
Quindi occorre, per prima, creare le tabelle nel database e poi decidere come aggiornarle da Calc con i relativi campi da prelevare, oppure definire prima Calc con tutto quello che serve e poi gestire le tabelle, in sostanza avere le idee chiare su carta e poi iniziare a creare.
Comunque il file che ho allegato è una bozza da sistemare, volendo si possono pure aggiungere immagini, se si dispongono le foto delle barche inserirle sul posto barca sempre in maniera automatica.

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Buongiorno Gaetano, sto cercando di studiare il linguaggio e le macro da te utilizzate....sono ancora lontano. Comunque ho pensato che sarebbe utile organizzare la gestione del circolo su due aree: 1) l'anagrafica dei soci che include le quantità di imbarcazioni possedute e la quantità di servizi di cui si gode (intendo: armadietti, tessere FIV, etc.). In questa area sarà anche sviluppata la parte amministrativa (determinazione delle quote associative, pagamenti, gestione delle tessere FIV, etc.) ; 2) la gestione dei posti barca, degli armadietti, etc. Per questa seconda area pensavo, non appena ne sarò in grado, di utilizzare i tuoi suggerimenti, adattando la "mappa" al reale layout del circolo e sviluppando gli stessi principi per l'assegnazione degli armadietti (maschili e femminili, acquistati o in "affitto"). A questo punto pensavo alle interazioni tra le due aree: a) la "mappa" deve considerare i soli nominativi dei soci (non dimessi) con una o più barche secondo la tabella "soci" costruita nell'area anagrafica; b) la "mappa armadietti", invece, dovrebbe considerare i soli soci con uno o più armadietti secondo la tabella "soci"; c) entrambe le mappe dovrebbe fornire un output che consenta la la verifica della coerenza tra quanto dichiarato nell'anagrafica soci e quanto effettivamente assegnato (posti barche ed armadietti) ai singoli soci. In sostanza Soci==>Mappe (per i nominativi da considerare) e Mappe==>Soci per la verifica della coerenza delle assegnazioni. Chiedo scusa per il lungo post che, mi rendo conto, serve più a me per mettere a fuoco le idee che ai cortesi frequentatori del forum. Grazie per la pazienza e per ogni suggerimento che vorrete inviarmi
LibreOffice 7.3 - Ubuntu 22.04 LTS
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Gaetano, poi l'idea delle immagini è clamorosa e molto utile. Ritornerò su questo tema non appena avrò fatto qualche passo avanti nella comprensione. Grazie ancora
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

Salve, per agevolarti posso commentare le righe delle macro in modo da capire meglio e più velocemente i vari passaggi adottati, per quanto riguarda la compilazione della mappa posso creare una macro che compila in maniera automatica il foglio Mappa, riprendendo i dati dei posti dal foglio Dettaglio, è impensabile andare a crearlo manualmente specialmente se si dovesse implementare con le immagini.

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Gaetano, ti ringrazio infinitamente per la pazienza, il tempo e le competenze che stai dedicando a questo progetto. Sono ansioso di leggere i commenti nelle macro e di vedere la nuova implementazione automatica del foglio Mappa
Ciao
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

Il progetto mi è piaciuto e ci ho dedicato un bel pò di tempo!!!!!!!
Ho preso in prestito il db ho lasciato e modificato solo le tabelle per fare un primo test.
E' buona norma creare le tabelle inserendo per primo l'id cioè la chiave primaria che è sempre la chiave di ricerca e per alcuni funzioni è indispensabile averla come primo campo.
Per funzionare devi registrare il db andando su Strumenti>Opzioni>libreoffice base>aggiungi nuovo.
I file sono sincronizzati, tutti i dati vanno inseriti nel database tranne le assegnazioni che avvengono da Calc.
Attualmente ci sono due sorgenti dati che aggiornano i fogli SOCI e Barche_Soci premendo il pulsante AggiornaCALC sulla barra degli strumenti di Calc, gli altri fogli li ho compilati a mano, successivamente si potranno creare le sorgenti dati per una gestione automatica.
Ogni variazione ai record SOCI e alle barche soci dal database vengono riportate su Calc.
Le immagini da riportare nel foglio Mappa devono essere contenute dentro una cartella indicata nella macro CompilaMappa, per adesso è indicato il mio indirizzo "C:/Users/gaeta/OneDrive/Desktop/BARCA/"& NomeImage & ".jpg" cambia con il tuo questa parte C:/Users/gaeta/OneDrive/Desktop/BARCA e indica il formato corretto delle foto che userai, io ho indicato jpg, naturalmente dovrai fare delle prove per la giusta grandezza dei file.
Il foglio Mappa_Posti può essere creato in automatico, lanciando la macro CreaMappaPosti, deve essere presente il foglio Mappa_Posti completamente vuoto.
Le parti da compilare manualmente sono la colonna Socio, assegnato e nome barca.
Per prima bisogna compilare il nome del socio, in automatico viene restituito l’id_socio, e viene attivato un menù a tendina con la lista delle barche appartenenti al socio scelto.
Una volta scelta la barca viene compilato l’idbarca e il tipo di barca sempre se opportunamente compilati precedentemente nel database e riportati nel file calc, infine la colonna Assegnato.
L’importante è compilare il campo socio per primo, in ogni caso si viene avvisati.
Se esistono due soci con lo stesso nome viene aperta una finestra di dialogo con l’elenco degli omonimi e da qui si può scegliere quale inserire.
Una volta compilati o modificati i record viene inserita una X nella colonna record variati, basta lanciare la macro “Aggiorna database posti” dal relativo pulsante in alto a destra nella barra degli strumenti per aggiornare il DB e togliere la X.
Avrei potuto fare l’aggiornamento del database in automatico , ma l’ho evitato in quanto per ogni record inserito la macro verrebbe lanciata in continuazione o in particolari situazioni, tramite il pulsante è più sicuro che venga tutto aggiornato.
Il file deve essere usato su LibreOffice in quanto alcuni funzioni non sono presenti su OpenOffice.
Ho inserito un bel po' di nomi definiti, quindi è consigliabile continuare ad usare il file Calc in allegato.
Avrei ancora tanto da dire ma è meglio testare il file, ancora manca la parte di macro per evitare i vari duplicati ect ect. ma meglio andare per gradi.
Una volta compilato il foglio assegnazioni, verifica i dati nel foglio Mappa_Posti e poi apri il db e le tre ricerche di prova compresa la tabella Assegnazioni.

PS: L’immagine delle barche devono avere il nome riportato in NOME_BARCA quindi nomi univoci.

Saluti
Allegati
circolovelico.odb
(70.58 KiB) Scaricato 35 volte
CIRCOLO_VELICO_1.ods
(100.69 KiB) Scaricato 42 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Caro Gaetano, ti ringrazio infinitamente per il tempo, le energie e la competenza che stai dedicando a questo progetto.
Da parte mia sto cercando di capire le macro che hai inserito. Considera che l'ultimo linguaggio che molti anni fa ho studiato è il Fortran......Ho raccolto la documentazione (inclusa la "Bibbia" di Pitonyak e la traduzione di Charlie del Capitolo 9 della documentazione Base). Comunque vorrei chiedere se puoi indirizzarmi su qualche documento per capire come avviare le macro associandole all'evento "doppio click" o "click" semplice. Ti ringrazio ancora. Dopo aver studiato i tuoi nuovi file di oggi ritornerò a disturbare. Buona giornata
Gianni
LibreOffice 7.3 - Ubuntu 22.04 LTS
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Gaetano, ho trovato come avviare le macro con doppio click....
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

gdm5353 ha scritto: martedì 31 gennaio 2023, 9:51.... Considera che l'ultimo linguaggio che molti anni fa ho studiato è il Fortran......Ho raccolto la documentazione (inclusa la "Bibbia" di Pitonyak e la traduzione di Charlie del Capitolo 9 della documentazione Base). Comunque vorrei chiedere se puoi indirizzarmi su qualche documento per capire come avviare le macro associandole all'evento "doppio click" o "click" semplice. Ti ringrazio ancora. Dopo aver studiato i tuoi nuovi file di oggi ritornerò a disturbare. Buona giornata
Gianni
Aver studiato un linguaggio di programmazione aiuta tantissimo, io ricordo di quando a scuola studiavo i diagrammi di flusso con i vari blocchi e devo dire che quando scrivo del codice mi tornano spesso in mente.
Gli eventi usati nel file sono due, il "doppio click" per passare dal foglio Mappa al foglio assegnazioni e l'evento "contenuto modificato" sul foglio assegnazioni che sostanzialmente è il fulcro di tutto, da dove avviene la compilazione, sia del foglio Assegnazioni, del foglio Mappa e l'aggiornamento al database(tramite anche il richiamo ad altre procedure).

Saluti

PS: Un'ottima guida in italiano è StarOffice 8
http://www.brescianet.com/appunti/vari/ ... ce_ITA.pdf

PS2: Ci sono diversi errori da sistemare anche se sinceramente vorrei optare per un'altra soluzione che mi è venuta in mente.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Gaetano, grazie per l'indicazione. Ho provato ad inserire un nuovo socio nella tabella "Soci_Nuovo" e aggiornando il file calc tramite il bottone in alto a destra "aggiorna Calc" ricevo un messaggio di errore che provo ad allegare.
Allegati
Schermata 2023-02-03.png
Schermata 2023-02-03.png (35.07 KiB) Visto 1777 volte
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

Prova a lanciarla direttamente senza il pulsante in alto.
Comunque ho cambiato un pò di cose, devo chiederti alcuni chiarimenti prima di proseguire....diciamo che la versione 2 è più professionale ed effettua i controlli immediatamente oltre ad aggiornare il database in maniera automatica senza l'utilizzo del pulsante.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Grazie ancora Gaetano, ora provo. Naturalmente a disposizione per chiarimenti
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

gdm5353 ha scritto: martedì 24 gennaio 2023, 12:04..... la gestione dei posti barca, degli armadietti, etc. Per questa seconda area pensavo, non appena ne sarò in grado, di utilizzare i tuoi suggerimenti, adattando la "mappa" al reale layout del circolo e sviluppando gli stessi principi per l'assegnazione degli armadietti (maschili e femminili, acquistati o in "affitto"). A questo punto pensavo alle interazioni tra le due aree: a) la "mappa" deve considerare i soli nominativi dei soci (non dimessi) con una o più barche secondo la tabella "soci" costruita nell'area anagrafica; b) la "mappa armadietti", invece, dovrebbe considerare i soli soci con uno o più armadietti secondo la tabella "soci"; c) entrambe le mappe dovrebbe fornire un output che consenta la la verifica della coerenza tra quanto dichiarato nell'anagrafica soci e quanto effettivamente assegnato (posti barche ed armadietti) ai singoli soci. In sostanza Soci==>Mappe (per i nominativi da considerare) e Mappe==>Soci per la verifica della coerenza delle assegnazioni. ....
Per prima cosa vorrei sapere se l'idea del flag assegnato e non, quindi riservato ma non assegnato, è utile, altrimenti se nella realtà gestionale non avviene lo tolgo e faccio in modo che selezionando un posto barca si assegni direttamente al socio destinatario per la barca scelta.
Poi vorrei capire cosa intendi per iterazioni tra le due aree e come vengono gestiti gli armadietti, magari capendo meglio tutto l'insieme si possono creare dei moduli più dinamici invece di concentrarci su un solo aspetto( per adesso quello del posto barca).

In merito all'errore riscontrato stai lavorando sui miei file o hai copiato le macro su file nuovi? perchè solo questo non basta, devi pure definire i nomi alle aree di celle e creare le sorgenti dati di importazione dal database al foglio di calcolo.
Dal messaggio è come se mancasse l'intera macro dal modulo.

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

Gaetano, grazie ancora. Provo a chiarire: 1) nella gestione ordinaria il flag assegnato non viene utilizzato ma ci sono dei posti occupati da imbarcazioni del circolo, quindi la possibilità di utilizzare un terzo colore può sicuramente fare comodo; 2) nella tabella soci viene indicato se il socio ha una o più barche (su spiaggia o rastrelliera) - questa suddivisione ha importanza per determinare le quote - e se utilizza uno o più armadietti. Idealmente nel foglio calc utilizzato per l'assegnazione dei posti dovrebbero essere presenti nel foglio soci solo i nominativi di coloro che effettivamente hanno una o più barche; analogamente nella tabella soci vengono individuati i soci con armadietti e, in un'eventuale foglio "armadietti" analogo a quello "assegnazione posti", dovrebbero essere presentati solo i nominativi dei soci che effettivamente utilizzano uno o più armadietti; gli armadietti sono presenti sia nello spogliatoio maschile (30) che in quello femminile (6). A complicare le cose poi devo registrare che alcuni soci pagano una fee annuale mentre altri, in uno specifico periodo di vita del circolo, hanno acquisito l'uso "perpetuo" e quindi non sono soggetti ad alcuna fee annuale. Per completezza di dimensionamento i posti spiaggia sono 50 divisi in due blocchi ai lati del corridoio di accesso al lago, il Capanno 3 include 3 rastrelliere (destra, sinistra e centrale) ciascuna da 6 posti, la rastrelliera esterna ne conta 12 e quella all'ingresso 4.
3) l'idea di interazione dovrebbe essere: la tabella soci del db fornisce i nominativi (selezionati come prima descritto) ai fogli calc per l'assegnazione dei posti e degli armadietti. Di converso i fogli calc dovrebbero fornire alla tabella soci in appositi campi il numero totale di posti barca e di armadietti risultanti, per fare un controllo tra quanto previsto (tabella soci) ed effettiva assegnazione. 4) sto utilizzando i tuoi file
Scusate ancora la lunghezza del post. Se volete potete dare un'occhiata al circolo utilizzando google maps cercando: Circolo Velico Acquarella asd - Trevignano Romano.
Ancia grazie per la pazienza
Gianni
LibreOffice 7.3 - Ubuntu 22.04 LTS
gdm5353
Messaggi: 33
Iscritto il: venerdì 13 gennaio 2023, 11:17

Re: Circolo Velico: ricerca posti liberi

Messaggio da gdm5353 »

ancora grazie per la pazienza (non ancia)
LibreOffice 7.3 - Ubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

gdm5353 ha scritto: venerdì 3 febbraio 2023, 21:28.. Idealmente nel foglio calc utilizzato per l'assegnazione dei posti dovrebbero essere presenti nel foglio soci solo i nominativi di coloro che effettivamente hanno una o più barche....
Infatti nella nuova versione, ho lavorato in tal senso, allego i due file.
Operazioni preliminari:
1) Registrare in database
2) Verificare che sia presente la sorgente dati(allego immagine), la macro aggiorna solo quella chiamata Importa3 in quanto è l'unica a servire attualmente, in caso crearla e lanciare la macro Aggiorna_Fogli_da_DB per vedere se funziona. La sorgente dati è collegata alla ricerca ANAGR_SOCI_BARCHE.
Ho cambiato tutto, ho usato una finestra di dialogo che si apre facendo doppio click in una delle celle della colonna Socio del foglio assegnazioni.
Viene aperta una finestra di dialogo con due datagrid, il primo è la rappresentazione del foglio assegnazioni, infatti selezionando le varie righe la cella attiva si sposta e riporta i dati selezionati nella prima fila di controlli in basso, a questo punto sono possibili due operazioni.
1)Liberare il posto
2) Associarlo ad un altro socio selezionandolo dal secondo datagrid, che riprende i dati dei soci con le barche indicando se hanno già delle assegnazioni.
In sostanza con il primo datagrid selezioni il posto da assegnare e con il secondo lo assegni al socio. Nel secondo datagrid vengono riportati solo i soci con imbarcazioni.
Una volta assegnato o liberato il posto con i relativi pulsanti accanto, diverse procedure aggiornano il foglio assegnazioni - aggiornano il database - di conseguenza la ricerca che è la sorgente dati del foglio calc Ricerca - vengono ricaricati i datagrid con i nuovi dati ed è possibile continuare ad effettuare le assegnazioni scorrendo tra i vari record.
Tutto avviene da finestra di dialogo, NON INTEVENIRE MANUALMENTE SUL FOGLIO ASSEGNAZIONI(DOVREBBE ESSERE PROTETTO E SPROTEGGERLO DA MACRO PER LA REGISTRAZIONE DEI DATI) lo faremo in seguito dopo averlo testato per bene.
Ho inizializzato le tabelle del database con indice 1 in quanto l'indice zero mi creava qualche problema.
Le operazioni da fare sul database sono, inserire i dati de soci e compilare la tabella Barche_Soci con l'idSocio, l'IdTipoBarca e il nome della barca che servirà oltretutto a caricare eventuali immagini.
Cambiare indirizzo cartella contenente le immagini.
Dato che il circolo possiede delle barche alle quali riservare dei posti, ho creato il socio circolo con indice 1, quando verrà selezionato verrà compilata la colonna AssegnatoCircolo e nel foglio Mappa verrà associato il colore di sfondo giallo(solo per il circolo).
Non cambiare indice al socio circolo.
Nelle varie ricerche che farai per quanto riguarda i soci, ad esempio pagamenti, assegnazioni ti basterà selezionare i dati di tutti i soci con IdSocio <> o > 1.
Nei file allegati tutti i soci hanno già un posto assegnato, quindi non puoi fare nulla, libera qualche posto, selezionane uno diverso da sopra e lo assegni al socio che è stato liberato. Verifica nel database le variazioni.


PS: Non usare più i pulsanti in alto a destra per aggiornare il database e i fogli calc, non funzionano e non servono più.

Saluti
Allegati
CIRCOLO_VELICO_2 - Copia.ods
(73.5 KiB) Scaricato 40 volte
circolovelico.odb
(70.34 KiB) Scaricato 35 volte
Sorgente.PNG
Sorgente.PNG (72.32 KiB) Visto 1660 volte
Ultima modifica di Gaetanopr il domenica 5 febbraio 2023, 17:38, modificato 3 volte in totale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Circolo Velico: ricerca posti liberi

Messaggio da Gaetanopr »

gdm5353 ha scritto: venerdì 3 febbraio 2023, 21:28Per completezza di dimensionamento i posti spiaggia sono 50 divisi in due blocchi ai lati del corridoio di accesso al lago, il Capanno 3 include 3 rastrelliere (destra, sinistra e centrale) ciascuna da 6 posti, la rastrelliera esterna ne conta 12 e quella all'ingresso 4.
Crea un foglio calc nuovo(stesso schema del foglio assegnazioni) ed elenca tutti i posti REALI con nome settore e numero posto, allegalo così creiamo la tabella e il foglio Mappa reale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Rispondi