Creare Gestionale con Access

di il
28 risposte

Creare Gestionale con Access

Buongiorno a tutti,

vi spiego cosa vorrei fare:

vorrei creare un database con 4 "tabelle" Contratto, Cliente, Veicolo e Azienda.
In pratica ogni volta che arriva un cliente apro la maschera per fare il contratto e i dati che inserisco vanno a finire nelle rispettive tabelle.
Vorrei fare un fac-simile di quei software per il noleggio auto o cose del genere ma molto più striminzito.

La mia domanda è: ora che ho creato queste tabelle con tutti i dati dentro, come faccio a indirizzare i dati all'interno delle tabelle?

Grazie

28 Risposte

  • Re: Creare Gestionale con Access

    Puoi descrivere i campi di tutte le tabelle che hai esposto?
    Hai inserito anche i campi "chiave primaria"?
    Puoi descrivere le relazioni?
  • Re: Creare Gestionale con Access

    Ok, ti ho messo in allegato le relazioni che ho fatto.
    Allegati:
    27111_db84dbece63e1a1829e5f2f1afb9f15a.png
    27111_db84dbece63e1a1829e5f2f1afb9f15a.png
  • Re: Creare Gestionale con Access

    Vari errori formali e di base:
    1. Abituati a nominare le tabelle al PLURALE e i nomi campi al SINGOLARE. Quindi per nomi tabelle intendo Clienti, Contratti, Veicoli…
    2. Campo ID (chiave primaria) sempre esplicito, quindi IDCliente
    3. Le relazioni uno-a-uno non si usano quasi mai, preferendo inglobare tutti i campi in un'unica tabella. Quelle che servono si chiamano relazioni uno-a-molti, devono essere logiche e avere (generalmente) lo stesso nome sia per la "chiave primaria" (lato uno), sia per la "chiave esterna" (lato molti).
    4. Veniamo a noi. Un Cliente può noleggiare (nel tempo) molti Veicoli. Un Veicolo può essere noleggiato da molti Clienti. Quindi fra le tabelle Clienti e Veicoli intercorre una relazione molti-a-molti da esplicitare con la tabella di congiunzione Contratti. Quest'ultima deve avere congrui campi "chiave esterna" IDCliente e IDVeicolo (tu lo chiami IDTarga...ci può stare…).
    5. Hai parlato di una tabella Aziende. Dove la vuoi collocare?
  • Re: Creare Gestionale con Access

    1) Ok grazie modificati.
    2)Modificato anche quello tabella CLIENTI ho cambiato chiave primaria da ID a IDCLIENTE ma quindi cancello nella tabella CONTRATTI IDCLIENTE mi sto riferendo all'immagine che ti ho inviato prima.
    3-4) Si pensavo anche io che la relazione tra CLIENTI e CONTRATTI doveva essere uno a molti perche un clienti può avere molti contratti ma quando ho fatto la relazione non me lo lasciava fare, mentre per quanto riguarda CONTRATTI e VEICOLI pensavo che un contratto poteva avere solo un veicolo però ho cannato in pieno. Grazie
    5) Si ho fatto una tabella Aziende perche pensavo di metterci dentro le classiche spese aziendali (tasse,mutui,finanziamenti,ecc) e volevo farla comunicare con la tabella VEICOLI cosi potevo confrontare le entrate e le uscite e pensavo di fare una relazione uno a molti, cioe un'azienda puo
    avere diversi veicoli ma i veicoli possono avere un'azienda sola. fila cosi?
  • Re: Creare Gestionale con Access

    Sai ha scritto:


    3-4) Si pensavo anche io che la relazione tra CLIENTI e CONTRATTI doveva essere uno a molti perche un clienti può avere molti contratti ma quando ho fatto la relazione non me lo lasciava fare,
    Il campo Clienti.IDCliente deve essere di tipo "numerazione automatica" e poi imposti la "chiave primaria".
    Nella tabella Contratti devi avere un campo IDCliente di tipo "numerico" (intero lungo) perché può essere ripetuto "molte" volte (per questo motivo si dice "lato molti"). Ora una "chiave esterna" è solo un concetto teorico-pratico, ma non è che la si deve impostare. Quindi devi togliere l'eventuale impostazione di chiave primaria...perché non lo è. Nella tabella Contratti la chiave primaria si deve chiamare IDContratto.
    Dopo che hai assodato ciò, crei la relazione Clienti.IDCliente uno-a-molti Contratti.IDCliente avendo cura di mettere la spunta soprattutto su "Applica integrità referenziale", a piacere sulle altre 2 impostazioni.

    Sai ha scritto:


    mentre per quanto riguarda CONTRATTI e VEICOLI pensavo che un contratto poteva avere solo un veicolo però ho cannato in pieno.
    Questo lo sai solo tu. Generalmente UN CONTRATTO prevede solo un Cliente<===>un Veicolo?

    Sai ha scritto:


    5) Si ho fatto una tabella Aziende perche pensavo di metterci dentro le classiche spese aziendali (tasse,mutui,finanziamenti,ecc) e volevo farla comunicare con la tabella VEICOLI cosi potevo confrontare le entrate e le uscite e pensavo di fare una relazione uno a molti, cioe un'azienda può
    avere diversi veicoli ma i veicoli possono avere un'azienda sola. fila cosi?
    Non l'ho capita in pieno. Provo a immaginare. Accade che un Cliente anziché essere una persona fisica è un'Azienda? Se sì, le Aziende possono essere incluse direttamente nella tabella Clienti.
  • Re: Creare Gestionale con Access

    Quando provo a mettere le relazione fra tabelle non mi lascia modificare niente. come faccio a metterla molti a molti?

    Si normalmente un Contratto prevede solo un cliente e un veicolo.

    Nella tabella azienda inserisco tutte le spese aziendali per poi fare il calcolo tra entrate e uscite.Come un foglio di calcolo e i dati li prende dalla tabella veicoli e aziende.
    Allegati:
    27111_2bedbfdd97dc34c66fa815f3f26f170e.png
    27111_2bedbfdd97dc34c66fa815f3f26f170e.png
  • Re: Creare Gestionale con Access

    Sai ha scritto:


    Quando provo a mettere le relazione fra tabelle non mi lascia modificare niente. come faccio a metterla molti a molti?
    La relazione molti-a-molti non si può gestire in un colpo solo. È frutto di 2 relazioni uno-a-molti che tu organizzi in 2 step separati.
    1. Nella tabella Contratti devi avere 2 campi IDCliente (numerico) e IDVeicolo (numerico).
    2. Apri la Finestra Relazioni e importi tutte le tabelle.
    3. Disegna una prima linea di join che collega Clienti.IDCliente a Contratti.IDCliente, quindi ti apparirà la finestrella dove devi mettere la spunta su "Applica integrità referenziale" ecc... e Crea
    4. Idem devi fare da Veicoli.IDVeicolo verso Contratti.IDVeicolo.

    Sai ha scritto:


    Nella tabella azienda inserisco tutte le spese aziendali per poi fare il calcolo tra entrate e uscite. Come un foglio di calcolo e i dati li prende dalla tabella veicoli e aziende.
    Non ti seguo ancora. Ho bisogno di 2-3 esempi pratici (da raccontare) per farmi rendere a pieno l'idea.
  • Re: Creare Gestionale con Access

    Ecco ho seguito quello che mi hai detto ed esce una cosa del genere è giusto così?

    Per quanto riguarda il discorso dell'azienda:

    -arriva la bolletta da pagare a fine mese allora segno nel campo bolletta che il giorno 22/10/2019 ho pagato 150 euro
    -arriva il mutuo da pagare e lo segno stessa cosa della bolletta solo che c'è il campo mutuo ecc.

    tutto questo alla fine lo confronto con la tabella contratti per vedere se ho piu spese che guadagno, una sorta di foglio excel.
    Allegati:
    27111_28835e6aa6831d4ab6de5afe6f423b4d.png
    27111_28835e6aa6831d4ab6de5afe6f423b4d.png
  • Re: Creare Gestionale con Access

    Sai ha scritto:


    Ecco ho seguito quello che mi hai detto ed esce una cosa del genere è giusto così?
    OK.

    Sai ha scritto:


    Per quanto riguarda il discorso dell'azienda:

    -arriva la bolletta da pagare a fine mese allora segno nel campo bolletta che il giorno 22/10/2019 ho pagato 150 euro
    -arriva il mutuo da pagare e lo segno stessa cosa della bolletta solo che c'è il campo mutuo ecc.

    tutto questo alla fine lo confronto con la tabella contratti per vedere se ho piu spese che guadagno, una sorta di foglio excel.
    Access va affrontato diversamente. Tutto ciò che può essere OMOGENEO deve essere inglobato nella stessa tabella. Proviamo a pensare ai Contratti come semplici Operazioni. Idem dicasi per le Spese = Operazioni. Io cambierei la denominazione tabella da Contratti in Operazioni. Per quanto riguarda l'Importo, esistono 2 filosofie al riguardo. La normalizzazione impone l'uso di un solo campo Importo che avrà cifre positive per i Contratti in Entrata, cifre negative per le Spese in Uscita. Alcuni utenti suggeriscono la possibilità di avere 2 campi Entrata e Uscita.
    C'è da dire che il campo Operazioni.IDVeicolo non avrebbe senso quando si tratta di Spesa=Uscita. Che dire...puoi lasciarlo vuoto o prevedere un record "fantasma" in Veicoli e utilizzare quel valore quando non si parla di alcun veicolo.
  • Re: Creare Gestionale con Access

    Ma così come faccio a differenziare le varie entrate e le varie uscite?
    Io pensavo di dividere le varie entrate perche così ho ben presente quanto guadagna un veicolo e quanto mi costa, e la tabella aziende mi serve per inserire le spese che non centrano con il discorso veicoli. Perche alla fine di tutto vorrei riuscire a confrontare i vari dati per un discorso di statistica.

    Grazie
  • Re: Creare Gestionale con Access

    Con opportuni FILTRI e/o QUERY puoi filtrare i soli dati in Entrata. Idem per solo quelli in Uscita. Puoi anche filtrare in base a Veicolo, in base a particolari Spese...ecc...e fai tutti le statistiche che vuoi.
  • Re: Creare Gestionale con Access

    Ok, allora metto tutto dentro nella tabella Operazioni (Contratti) ma pure la tabella Aziende?

    E poi come faccio a gestire tutti questi dati graficamente? Dovrei fare delle interfacce diverse si riesce?
  • Re: Creare Gestionale con Access

    I campi della tabella Aziende che vedo non mi sembrano OMOGENEI. Aziende come Enel, Fastweb, AQP hanno
    NomeAzienda
    Indirizzo
    ...tanti altri campi tipicamente anagrafici...simili/uguali a Clienti. Per tanto è giusto che siano al pari di Rossi Mario, Brambilla Giuseppe, Morosini Franco…
    Nella tabella Contratti o Operazioni non vedo tutti i campi. Sarebbe bene elencarli tutti.
    Le interfacce in Access si chiamano MASCHERE e puoi organizzarle come meglio credi.
  • Re: Creare Gestionale con Access

    Ok perfetto, provvedo a modificare, una cosa ma quando inserisco l'entrate o le spese vorrei mettere anche la data, ma devo specificarla per ogni campo? ad esempio Tabella Operazioni c'è il campo acconto devo inserire anche il campo data acconto? Grazie
Devi accedere o registrarti per scrivere nel forum
28 risposte