[RISOLTO] Registrare di partecipanti a eventi
[RISOLTO] Registrare di partecipanti a eventi
Ciao a tutti.
utilizzo Libreoffice 3.5 su ubuntu 12.04 sa molto poco.
Ho necessità di registrare i partecipanti a degli eventi e volevo utilizzare Base.
I nomi dei partecipanti sono raramente modificati.
Degli eventi, alcuni sono periodici ed altri saltuari e vanno inseriti volta per volta, il numero dei partecipanti è variabile per ogni evento (max 40)
Mi sto perdendo a progettare un database per:
- associare a ogni partecipante gli eventi a cui ha partecipato
- estrarre i dati per vedere chi ha partecipanto a ogni evento
- estrarre i dati per vedere tutti gli eventi ha cui ha partecipato ciascun partecipante.
Mi potete dare una mano?
Grazie
utilizzo Libreoffice 3.5 su ubuntu 12.04 sa molto poco.
Ho necessità di registrare i partecipanti a degli eventi e volevo utilizzare Base.
I nomi dei partecipanti sono raramente modificati.
Degli eventi, alcuni sono periodici ed altri saltuari e vanno inseriti volta per volta, il numero dei partecipanti è variabile per ogni evento (max 40)
Mi sto perdendo a progettare un database per:
- associare a ogni partecipante gli eventi a cui ha partecipato
- estrarre i dati per vedere chi ha partecipanto a ogni evento
- estrarre i dati per vedere tutti gli eventi ha cui ha partecipato ciascun partecipante.
Mi potete dare una mano?
Grazie
Ultima modifica di magal il giovedì 29 novembre 2012, 12:19, modificato 2 volte in totale.
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
Ciao.
Io creerei 2 tabelle, una con i dati dei partecipanti e una con i dati degli eventi; in queste 2 tabelle dovrai avere ameno un campo in comune per poterle mettere in relazione. Poi con un formulario e un sotto formulario legati dal campo in comune (o dai campi in comune - massimo 4) potrai scrivere contemporaneamente in entrambe le tabelle i dati condivisi.
Per estrarre i dati usi le ricerche, filtri i dati che ti interessano con un criterio che scegli.
Io creerei 2 tabelle, una con i dati dei partecipanti e una con i dati degli eventi; in queste 2 tabelle dovrai avere ameno un campo in comune per poterle mettere in relazione. Poi con un formulario e un sotto formulario legati dal campo in comune (o dai campi in comune - massimo 4) potrai scrivere contemporaneamente in entrambe le tabelle i dati condivisi.
Per estrarre i dati usi le ricerche, filtri i dati che ti interessano con un criterio che scegli.
LibreOffice 3.6.2.2 su Ubuntu 12.10
Re: Registrare di partecipanti a eventi
Grazie, ma ancora on mi è chiaro, scusa.
Faccio un esempio.
Tabella 1
- ID1
- NomePartecipante
Tabella 2
- ID2
- NomeCorso
- DataCorso
- NomepartecipanteCorso
Ho provato a mettere in relazione Nomepartecipante - NomepartecipanteCorso ma mi da un errore vincolo di unicità.
Inoltre in questo modo non capisco come posso registrare chi è stato presente ad un dato corso.
Credo mi servidebbe una terza tabella dove mettere in relazione i corsi di tabella2 con i partecipanti di tabella1. Questa però dovrebbe avere record di lunghezza variabile a seconda del numero di partecipanti (o forse record molto lunghi con campi vuoti se non utilizzati).
Mi pare di star complicando le cose!!
Faccio un esempio.
Tabella 1
- ID1
- NomePartecipante
Tabella 2
- ID2
- NomeCorso
- DataCorso
- NomepartecipanteCorso
Ho provato a mettere in relazione Nomepartecipante - NomepartecipanteCorso ma mi da un errore vincolo di unicità.
Inoltre in questo modo non capisco come posso registrare chi è stato presente ad un dato corso.
Credo mi servidebbe una terza tabella dove mettere in relazione i corsi di tabella2 con i partecipanti di tabella1. Questa però dovrebbe avere record di lunghezza variabile a seconda del numero di partecipanti (o forse record molto lunghi con campi vuoti se non utilizzati).
Mi pare di star complicando le cose!!
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
Io direi:
tabella 1 con:
id_corso
data_corso
argomento_corso
tabella 2 con
id_partecipante
id_corso
nome_e_cognome_partecipante
L'importante è che id_corso sulla tabella 1 sia anche la chiave primaria, mentre nella tabella 2 la chiave primaria sarà id_partecipante, così non ti dovrebbe più dare vincoli di unicità.
Quando creerai il formulario dovrai decidere se preferisci avere come principale la tabella corsi oppure quella partecipanti, mi spiego meglio: preferisci inserire tutti i partecipanti a un corso (caso 1) oppure tutti i corsi di ogni partecipante (caso 2)?
Penso sia più comodo il caso 1, perciò metti come principale la tabella corsi e come sottoformulario la tabella partecipanti legandole per id_corso, in questo caso il report si allungherà automaticamente al crescere dei partecipanti.
La terza tabella in realtà sarà il risultato della query.
tabella 1 con:
id_corso
data_corso
argomento_corso
tabella 2 con
id_partecipante
id_corso
nome_e_cognome_partecipante
L'importante è che id_corso sulla tabella 1 sia anche la chiave primaria, mentre nella tabella 2 la chiave primaria sarà id_partecipante, così non ti dovrebbe più dare vincoli di unicità.
Quando creerai il formulario dovrai decidere se preferisci avere come principale la tabella corsi oppure quella partecipanti, mi spiego meglio: preferisci inserire tutti i partecipanti a un corso (caso 1) oppure tutti i corsi di ogni partecipante (caso 2)?
Penso sia più comodo il caso 1, perciò metti come principale la tabella corsi e come sottoformulario la tabella partecipanti legandole per id_corso, in questo caso il report si allungherà automaticamente al crescere dei partecipanti.
La terza tabella in realtà sarà il risultato della query.
LibreOffice 3.6.2.2 su Ubuntu 12.10
Re: Registrare di partecipanti a eventi
Grazie, comincio a capire.
Posto l'abbozzo del database se avete tempo per aiutarmi ancora.
Ho fatto come mi hai detto e creato il form CorsiPeriodici:
- in questo devo inserire volta per volta i nomi dei partecipanti e tutti il database mi si forma sulla tabella Dipendenti
Ho provato a modificare:
- Ho creato le 2 tabelle CorsiPeriodici e Dipendenti perchè contengano i dati (devo inserire i corsi volta per volta; mentre i dipendenti sono prevalentemente stabili)
- ho creato la tabella Corsi_con_Dipendenti perchè sia il trait di union tra le 2 tabelle; sarà in questa che si registra il collegamento tra corsi e dipendenti (lo so mi avevi detto di utilizzare una query ma cosi mantengo pulite le altre tabelle).
- Ho creato un form CorsiPeriodici2 con Main la tabela dei corsi e sub quella composita (corsi_con_dipendenti), usando una listbox per recuperare e mostrare i nomi dei dipendenti.
Quello che non risco a fare ora è avere nel form CorsiPeriodici2 una lista di tutti i dipendenti inseriti da cliccare per far prima a iscriverli ai vari corsi (mi servirebbe tipo una tabella con checkbox).
Si può fare?
Grazie
Posto l'abbozzo del database se avete tempo per aiutarmi ancora.
Ho fatto come mi hai detto e creato il form CorsiPeriodici:
- in questo devo inserire volta per volta i nomi dei partecipanti e tutti il database mi si forma sulla tabella Dipendenti
Ho provato a modificare:
- Ho creato le 2 tabelle CorsiPeriodici e Dipendenti perchè contengano i dati (devo inserire i corsi volta per volta; mentre i dipendenti sono prevalentemente stabili)
- ho creato la tabella Corsi_con_Dipendenti perchè sia il trait di union tra le 2 tabelle; sarà in questa che si registra il collegamento tra corsi e dipendenti (lo so mi avevi detto di utilizzare una query ma cosi mantengo pulite le altre tabelle).
- Ho creato un form CorsiPeriodici2 con Main la tabela dei corsi e sub quella composita (corsi_con_dipendenti), usando una listbox per recuperare e mostrare i nomi dei dipendenti.
Quello che non risco a fare ora è avere nel form CorsiPeriodici2 una lista di tutti i dipendenti inseriti da cliccare per far prima a iscriverli ai vari corsi (mi servirebbe tipo una tabella con checkbox).
Si può fare?
Grazie
- Allegati
-
- databaseFormazione.odb
- (20.93 KiB) Scaricato 170 volte
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
Perdona il ritardo.
Potresti anche provare con una soluzione meno elegante ma, forse, più pratica.
Crei l'evento e associ le presenze come semplice variabile booleana (si/no). Così avresti una tabella con in orizzontale le date dei corsi e in verticale le persone e giocando a battaglia navale hai i risultati. Poi, se ti servono, altri dati te li cerchi o con una query oppure con una vista.
Comunque mi sembra che il lavoro sia impostato bene e appena ho 2 minuti provo a mettere mano al tuo database e te lo rimando.
P.S. Non ti scusare se scegli una strada diversa da quella che suggerisco, io non conosco ne perfettamente le tue esigenze ne ho la certezza di riuscire meglio di altri.
Potresti anche provare con una soluzione meno elegante ma, forse, più pratica.
Crei l'evento e associ le presenze come semplice variabile booleana (si/no). Così avresti una tabella con in orizzontale le date dei corsi e in verticale le persone e giocando a battaglia navale hai i risultati. Poi, se ti servono, altri dati te li cerchi o con una query oppure con una vista.
Comunque mi sembra che il lavoro sia impostato bene e appena ho 2 minuti provo a mettere mano al tuo database e te lo rimando.
P.S. Non ti scusare se scegli una strada diversa da quella che suggerisco, io non conosco ne perfettamente le tue esigenze ne ho la certezza di riuscire meglio di altri.
LibreOffice 3.6.2.2 su Ubuntu 12.10
Re: Registrare di partecipanti a eventi
Grazie
Avere una tabella come quella di cui parli sarebbe ottimo.
Tra l'altro è simile al foglio di Calc che sto utilizzando.
La messa in pratica però mi sfugge ancora.
Intanto posto il db con alcuni aggiornamenti
Ora posso sciegliere i partecipanti ad un corso e vedere contestualmente quelli già presenti.
Il passo successivo sarebbe avere un elenco completo dei dipendenti dove cliccare per iscriverli senza dover pasasre al record successivo del subform ogni volta. Qualcosa tipo lista con checkbox associato.
Avere una tabella come quella di cui parli sarebbe ottimo.
Tra l'altro è simile al foglio di Calc che sto utilizzando.
La messa in pratica però mi sfugge ancora.
Intanto posto il db con alcuni aggiornamenti
Ora posso sciegliere i partecipanti ad un corso e vedere contestualmente quelli già presenti.
Il passo successivo sarebbe avere un elenco completo dei dipendenti dove cliccare per iscriverli senza dover pasasre al record successivo del subform ogni volta. Qualcosa tipo lista con checkbox associato.
- Allegati
-
- databaseFormazionev2.odb
- (14.93 KiB) Scaricato 143 volte
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
Per fare questo crei una tabella con i nomi dei possibili partecipanti impostati come nomi dei vari campi e come tipo di campo metti booleano, un campo lo metti come data, un come id_corso, altri come vuoi.
Quando crei il formulario metti come campi scrivibili quelli data, ecc e come pulsanti di spunta i campi che hanno il nome delle persone.
Quando crei il formulario metti come campi scrivibili quelli data, ecc e come pulsanti di spunta i campi che hanno il nome delle persone.
LibreOffice 3.6.2.2 su Ubuntu 12.10
Re: Registrare di partecipanti a eventi
Se non ho capito male così se devo aggiungere un dipendente devo modificare la struttura della tabella aggiungendo un campo.
Non esiste un modo per fare questo prelevando i nomi da un'altra tabella?
Non esiste un modo per fare questo prelevando i nomi da un'altra tabella?
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
Ho fatto qualche passo avanti
Ora ho una lista che si aggiorna se aggiungo dipendenti ed una che si aggiorna quando li iscrivo.
Il processo di iscrisione è ancora macchinoso (devo andare ad un nuovo record e selezionare il dipendente); inoltre se per errore seleziono la I rida mi si cancellano tutti.
Hai consigli?
Ora ho una lista che si aggiorna se aggiungo dipendenti ed una che si aggiorna quando li iscrivo.
Il processo di iscrisione è ancora macchinoso (devo andare ad un nuovo record e selezionare il dipendente); inoltre se per errore seleziono la I rida mi si cancellano tutti.
Hai consigli?
- Allegati
-
- databaseFormazionev3.odb
- (17.04 KiB) Scaricato 114 volte
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
Ho risolto il problema della cancellzione dei record già inseriti mettenso a 'NO' Allow modifications del subform.
Sono anche riuscito a avere una lista dei partecipanti già iscritti al corso che si modifica quando aggiungo un partecipanre ed è specifica per ogni corso.
Allego il file
Sono anche riuscito a avere una lista dei partecipanti già iscritti al corso che si modifica quando aggiungo un partecipanre ed è specifica per ogni corso.
Allego il file
- Allegati
-
- databaseFormazionev4.odb
- (17.79 KiB) Scaricato 128 volte
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
hai fatto un bel lavoro
ora, il mio pensiero è che
poi con formulari e caselle di riepilogo si usano per inserire i dati come bene hai capito
complimenti
fai sapere grazie
ora, il mio pensiero è che
- manca la tabella -->titolo corso<-- con id e titolo che alimenta il primo controllo
modificare la tabella -->corso partecipanti<-- eliminare titolocorso e inserire idtitolocorso che prende da tb titolo corso
poi con formulari e caselle di riepilogo si usano per inserire i dati come bene hai capito
complimenti
fai sapere grazie
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
Re: Registrare di partecipanti a eventi
Ho seguito il tuo consiglio (che tra l'altro era già un organizzazione che avevo in mente) con una piccola modifica, i corsi li raggruppo su un'altra tabella per TIPO.
Ho un altro problema. Nel FORM CorsiPeriodici2 la lista sulla sinistra potrebbe crescere molto e vorrei poterla dividere un colonne per mantenerla sulla stessa pagina ma non ci riesco. Suggerimenti?
Grazie
Ho un altro problema. Nel FORM CorsiPeriodici2 la lista sulla sinistra potrebbe crescere molto e vorrei poterla dividere un colonne per mantenerla sulla stessa pagina ma non ci riesco. Suggerimenti?
Grazie
- Allegati
-
- databaseFormazionev7.odb
- (54.79 KiB) Scaricato 146 volte
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
una select che filtra alcune iniziali può aiutare?
naturalmente è solo un indizio
fai sapere grazie
Codice: Seleziona tutto
SELECT "NomeCognome" AS "NomeCognome", "ID" AS "ID" FROM "Dipendenti" WHERE ( "NomeCognome" LIKE 'a%' OR "NomeCognome" LIKE 'b%' OR "NomeCognome" LIKE 'c%' OR "NomeCognome" LIKE 'd%' OR "NomeCognome" LIKE 'e%' )
fai sapere grazie
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
Re: Registrare di partecipanti a eventi
Grazie, ottima idea.
Sto provando utilizzando BETWEEN.. funziona ma con 1 problema. non riesco a vedere le 'a'.
Funziona prendendo il range indicato, esclude il primo limite e include il secondo.
Allego al query
Vedo dalla 'b' alla 'l'. E non riesco a trovare cosa c'e prima della 'a'.
Spero di essere stato chiaro
Sto provando utilizzando BETWEEN.. funziona ma con 1 problema. non riesco a vedere le 'a'.
Funziona prendendo il range indicato, esclude il primo limite e include il secondo.
Allego al query
Codice: Seleziona tutto
SELECT "NomeCognome" FROM "Dipendenti" WHERE "NomeCognome" BETWEEN 'a%' AND 'm%' ORDER BY "NomeCognome" ASC.
Spero di essere stato chiaro
Ultima modifica di magal il martedì 20 novembre 2012, 17:07, modificato 1 volta in totale.
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
una preghiera,
quando si inserisce codice meglio usare il tag code, grazie
ora veniamo al tuo problema,
puoi provare a togliere %
fai sapere grazie
quando si inserisce codice meglio usare il tag code, grazie
ora veniamo al tuo problema,
puoi provare a togliere %
Codice: Seleziona tutto
SELECT "NomeCognome" FROM "Dipendenti" WHERE "NomeCognome" BETWEEN 'a' AND 'm%' ORDER BY "NomeCognome" ASC
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
Re: Registrare di partecipanti a eventi
Perfetto funziona.
I caratteri sono ordinati con le minuscole prima delle maiuscole.
Ecco il codice definitivo.
I caratteri sono ordinati con le minuscole prima delle maiuscole.
Ecco il codice definitivo.
Codice: Seleziona tutto
SELECT "NomeCognome" FROM "Dipendenti" WHERE "NomeCognome" BETWEEN 'a' AND 'L' ORDER BY "NomeCognome" ASC
LIbreoffice 3.5 - ubuntu 12.04
Re: Registrare di partecipanti a eventi
se tutto funziona inserire risolto nel ttolo del primo messaggio
grazie
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie