Creazione di un DB per gestire un condominio o supercondominio con Access

Anonimo
2015-03-11T20:38:37+00:00

Buonasera a tutta la community, in qualità di capo condomino del mio condominio (lo gestisco a titolo gratuito, da 14 anni) con un semplice file di Excel per quanto concerne solo i calcoli delle spese da ciascun condomino sostenute.

Ora ho la necessità di poterlo gestire meglio (poiché ho in mente come fare),creando un DB con Access 2010, ma quello che Vi chiedo è questo:

  1. posso chiedere il vostro aiuto per un progetto che si presenta lungo e molto particolare per le funzioni ed il codice da creare?;
  2. se si, posso mantenere in vita sempre la stessa discussione senza aprirne altre ( come dicevo il DB sarà molto particolare, "per me" ma certo non per Voi e la Vostra professionalità e competenza;
  3. Ho già iniziato a creare le prime tabelle e vorrei già iniziare a chiedre il vostro aiuto su come impostare determinati passaggi per iniziare nel migliore dei modi.

In attesa di un vostro prezioso e gentile riscontro, Vi saluto con affetto e immensa stima.

Nicola.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

7 risposte

Ordina per: Più utili
  1. Anonimo
    2015-03-15T19:32:19+00:00

    ciao Nicola,

    la tabella **** prova a riflettere....

    se nella tabella condomini inserisci il campo **** a al condomino inserisci in quel campo S o M non ottieni la stessa cosa?

    se i dati relativi ad un campo sono in relazione 1 -->1  con una pk possono stare nella stessa tabella.

    Analogamente alla data di Nascita o Codice Fiscale...

    il campo pwd nella tabella utenti deve essere avere una maschera di input password, modificala.

    crea un campo nella tabella users che identifica il livello di accesso, in base a questo rilascerai o non rilascerai autorizzazioni di accesso, il livello di accesso è una fk collegata alla tabella gruppi,

    la relazione che hai impostato è errata.

    tabella gruppi idgruppo PK--> idGruppo FK nella tabella users

    gruppo di appartenenza credo sia quello che hai cercato di usare ma è di tipo testo, non va bene, pk e fk devono avere lo stesso datatype.

    crea la maschera di login non associata con una combobox che visualizza i dati dello user, con una textbox in cui chiedi la pwd, se la pwd è corretta bene altrimenti neghi l'accesso.

    questo intanto.

    Ciao, Sandro.

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2015-03-12T18:47:36+00:00

    Ciao Sandro, grazie per la gentile ed esaustiva spiegazione, spunto applica integrità referenziale e per le operazioni di eliminazione userò le query all'occorrenza e per gli aggiornamenti userò le transazioni ( bellissimo argomento che non ho mai trattato e di cui sarei grato che tu mi spiegassi il modo e l'occasione in cui è consigliabile usarle).

    Allora inziamo con la costruzione del progetto per la gestione del condominio:

    ho pianificato il programma di gestione condominio ipotizzando prima di tutto di dover creare una tabella che  contenga la registrazione degli utenti che possono usare il Db e che hanno diverse autorizzazioni ad es. chi può solo inserire i dati, chi può solo modificarli ecc. e solo l'amministratore può fare tutto.

    Ti allego un file che ho trovato in rete e che mi permette di fare in parte ciò che ti segnalo, vedi se fa al caso mio e cosa posso modificare per fare in realtà ciò che ti riporto:

    1)Registrare tutti gli utilizzatori del Db con Id e Password;

    1. abilitare ciascuno a diverse operazioni sul DB es. modifica, cancellazione, inserimento e altro che tu vorrai segnalarmi;

    3)Possibilità di rendere più sicure possibili le autorizzazioni di accesso al DB, magari memorizzando le credenziali di ciascun utente su un altro DB, a te la scelta oppure il miglior consiglio per fare ciò.

    Attendo tuoi consigli e spunti per poter partire o modificare il file che ti ho postato al seguente link:http://1drv.ms/1B9kzZG

    Ciao Sandro, grazie come sempre, sono felice di sentirti vicino ad aiutarmi. 

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-03-12T15:21:22+00:00

    ciao Nicola,

    argomento lungo da trattare....

    imposta integrità referenziale, regola dei database relazionali volta all'impedimento di inserire un record figlio senza che ci sia il parent, ragionamento analogo per quanto alla cancellazione.

    esempio facile facile.

    tabella ordine e tabella righe ordine....non puoi inserire nessuna riga ordine senza che la FK( foreign key) chiave esterna abbia la sua correlazione nella tabella ordini con la sua relativa pk ( primary key chiave primaria).

    assolutamente da spuntare secondo il mio parere in caso di relazione 1--->M.

    aggiorna campi correlati a catena e elimina campi records correlati a catena,

    in caso di integrità referenziale non puoi eliminare una pK che ha correlazioni con FK a meno di non impostare il flag di cui sopra--->elimina campi records correlati a catena.

    nel caso in cui il flag sia spunato elimini tutto---> non impostare questa caratteristica.

    Lo stesso valgasi per l'aggiornamento, se modifichi una PK la modifica si propaga per tutte le FK del tuo DB.

    oltre a questo puoi impostare la relazione tra le tabelle inner, left oppure right.

    Ti consiglio di impostare la inner e alla bisogna modificarla nelle queries in left o right a seconda della tabella che intendi preservare.

    in sostanza, imposta l'integrità referenziale non impostare l'eliminazione e nemmeno l'aggiornamento.

    Quando il db è a regime potresti impostare l'aggiornamento ma per l'eliminazione io rifletterei....ci sono le queries per queste cose...

    inoltre per l'aggiornamento si possono sfruttare le transazioni.

    spero di averti dato qualche spunto l'argomento è vastissimo...e non basta un 3d scritto di getto per trattarlo...

    ciao!

    Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-03-12T13:06:27+00:00

    Ciao Sandro, tutto bene, grazie.

    Iniziamo passo passo con le richieste di aiuto e all'occorrenza aprirò varie discussioni.

    Innazitutto aiutami a capire quando e perchè devo spuntare le tre caselline ( oppure una delle tre ecc.)per quanto riguarda le relazioni tra tabelle tipo "elimina dati correlati a catena ecc.

    Questo te lo chiedo poichè ho già creato due tabelle chiamate TblCondomino e TblCondomini e devo metterle in relazione con i campi univoci, chiave primaria, chiamato CFiscale di tipo testo.

    Nel caso dovessi eliminare un condomino perchè non più gestito cosa accadrebbe alla spiunta di ognuna delle tre possibilità di relazione.

    Ciò che desidero capire è la situazione reale che ognuna delle opzioni delle relazioni in un DB può determinare e cosa è opportuno che i faccia per eviutare danni al DB causati dalla cattiva impostazione delle relazioni tra tabelle.

    Ti ringrazio per il tuo gentile riscontro e ti saluto .

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-03-12T07:51:55+00:00

    ciao Nicola,

    tutto ben?

    credo che la community nasca in funzione della risoluzione di piccoli problemi contenstualizzati in un progetto più grande come in quello che stai cominciando a sviluppare.

    in quest'ottica credo si possa cercare di aiutarti nel limite delle capacità e tempo di tutti...

    se questo è quello che chiedi direi che puoi procedere come hai fatto finora, focalizzando l'attenzione sulle difficoltà che via via incontri.

    se le tematiche sono relative ad argomenti troppo eterogenei direi che aprire vari 3D sia cosa buona e giusta.

    questo il mio consiglio ;-)

    un saluto.

    Ciao!!

    Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento