[Access] Database produzione: passo passo

Anonimo
2010-03-01T17:33:24+00:00

Buongiorno a tutti, sono nuovissimo del forum ma soprattutto del Mondo Access.

Vi spiego "brevemente" il mio progetto:

Schedario clienti: a ogni cliente è associato un numero identificativo univoco e un solo prodotto. Il prodotto è composto da:

  • Tipo nastro
  • Colore nastro
  • Misura nastro
  • Colore stampa
  • tipo scatola
  • tipo anima
  • Ingranaggio

Es. Società A, Codice univoco: 1. Tipo nastro: 311, Colore: bianco, Misura: 50x100, Colore stampa: blu scuro, tipo scatola: anonima, tipo anima: anonima, ingranaggio: 48.

Se un cliente dovesse avere più di un prodotto, attualmente usiamo un riferimento univoco (per esempio nome del logo).

L'inserimento di queste informazioni deve avvenire tramite una maschera e non devono essere modificabili per errore!

Una volta che si riceve l'ordine l'operatore dovrà inserire il nome del cliente (o sceglierlo dalla lista dei clienti già esistenti) e questa scelta dovrà condizionare:

  • il codice del cliente;
  • eventuale riferimento se cliente ha più di un prodotto;
  • tipo nastro e tutte le altre info sul prodotto (vedere elenco iniziale);

L'operatore dovrà inserire:

  • data ordine, data consegna, n° rotoli.

Ho provato a seguire il database di esempio Northwind ma riesco fino ad un certo punto. Ho creato una tabella per ogni variabile (tenete presente che uno stesso tipo di nastro può avere diverse misure, colori ecc), quindi clienti (nel quale ci sono le info sul prodotto, il codice univoco, l'eventuale riferimento), tabelle per tipo nastro, colori nastro, misure nastro, ecc ecc, tabella ordini, dettagli su ordini, query clienti-estesi, query dettagli ordini-estesi e poi ho proceduto a creare le maschere rifacendomi al DB di esempio Northwind (l'impostazione mi piace molto) ma non riesco a dargli i giusti automatismi e a scegliere i dati corretti per le maschere.

Per ora mi "accontenterei" di avere funzionanti le maschere "Pagina Iniziale" (che avevo già fatto funzionare correttamente), "Dettagli Cliente" e " Dettagli sugli ordini" (come da DB northwind) che sono poi il core del mio progetto. Più avanti non sarebbe male implementare qualche extra come grafici, scadenziario, ecc ecc.

Ho provato a seguire una guida (Access for dummies) ma a parte qualche spiegazione non mi rimane molto utile nei passaggi chiave.

Esistono dei database simili a ciò che desidero ottenere io ma modificabili facilmente (ho provato anche la via di editare il northwind ma molte cose sono bloccate e non so come editarle).

Mi scuso in anticipo se è una richiesta troppo complessa.

Grazie.

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

9 risposte

Ordina per: Più utili
  1. Anonimo
    2010-03-05T17:13:15+00:00

    Dunque, secondo il mio schema il cliente non viene mai duplicato, quello che si duplica è una riga in ClientiProdotti.

    Quello che tu chiami riferimento forse corrisponde al mio Codice prodotto, che può anche essere uguale per clienti diversi, oppure è un campo della tabella ClientiProdotti.

    Le relazioni vanno studiate con attenzione ad esempio se lo stesso prodotto può essere ventuto a clienti diversi si tratta di una relazione "molti a molti" quin non c'è una relazione diretta tra clienti e prodotti, ma una relazione tra Clinti e ClientiProdotti (idCliente  <-> idCliente) ed una tra Prodotti e ClientiProdotti (idProdotto<->idProsotto).


    Cinzia


    Sito RIO

    Il mio Blog

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-03-03T11:41:59+00:00

    Benissimo. Oggi con calma reimposto tutto.

    Due cose: se un cliente ordina più di un tipo di prodotto (può anche solo cambiare la misura rimanendo invariate tutte le altre caratteristiche) gli attribuiamo un riferimento (questo perchè l'archivio fisico dove teniamo le singole cartelline dei clienti è già abbastanza corposo e se dovessimo sdoppiare i codici clichè per ogni prodotto del singolo cliente avremmo migliaia e migliaia di cartelline).

    Questo riferimento lo metto nella tabella Clienti vero? E duplico il cliente se lo stesso ha più di un riferimento giusto?

    Le relazioni tra le tabelle le devo fare solo tra es. ID Cliente - ID Prodotto, ID Prodotto - ID ProdCliente, ID Ordine - ID ProdCliente) giusto?

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-03-03T11:14:40+00:00

    Ciao Bourne83,

    per modificare la disposizione delle caselle in Northwind, siccome le maschere sono fatte con layout automatici, devi andare in visualizzaz struttura della maschera, andare sulla scheda Disponi nella barra Multifunzioni  selezionare il controllo che vuoi spostare e cliccare su Rimuovi nel Gruppo Layout Controlli. E' ovvio che se togli dei campi che non ti servono dalle tabelle, poi devi toglierli anche dalle maschere e reimpostare il layout della maschera in base ai campi che hai mantenuto.

    Per quanto riguarda la struttura del database, io la vedo così:

    Una tabella clienti (Cliente, Clichè, Indirizzo, Partita IVA  ecc...)

    Una tabella Prodotti (Codice Prodotto, descrizione Prodotto, eventuali altri campi che carartterizzano sempre il prodotto  ad esempio il formato )

    Una tabella ClientiProdotti ( CodProdCliente, CodiceCliente, CodiceProdotto, colore, formato, tipo scatola ecc..)

    Una tabella Ordini (CodiceOrdine, CodiceCliente, DataOrdine, DataConsegnaRichiesta, DataConsegnaEff)

    Una tab. DettagliOrdine (CodiceOrdine, CodProdCliente, qta, prezzo)

    Ovviamente altre soluzioni sono possibili e non è detto che quella che a me sembra una soluzione sia  quella "ottimale" per voi, solo conoscendo a fondo le vostre problematiche è possibile trovare una buona soluzione. 

    Se vuoi puoi proporre la struttura delle tabelle che hai in mente tu e vediamo di andare avanti un passo alla volta


    Cinzia


    Sito RIO

    Il mio Blog

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-03-01T19:01:37+00:00

    Ciao Cinzia, grazie della tua risposta velocissima.

    Iniziamo dal principio e passo passo: uso Access 2007.

    Faccio 2 ipotesi: la prima un cliente con un solo prodotto, la seconda un cliente con più di un prodotto.

    Ipotesi A: 1 cliente - 1 prodotto

    ID Access: 1 - Cliente X: codice clichè 1 (il clichè è un riferimento interno già usato, non modificabile) - Prodotto 4311, colore bianco, 50x100, stampato 1 colore blu scuro, tipo scatola anonima, tipo anima anonima, ingranaggio 73, nessun riferimento, nessuna nota produzione.

    E' il caso più semplice e per fortuna anche il più ricorrente.

    Ogni volta che nell'immissione di un nuovo ordine scelgo il Cliente X mi devono già venire fuori di default il suo codice clichè (la corrispondenza può anche essere inversa, scelgo il codice clichè e mi viene fuori il cliente, ma quasi sempre l'ordine parte dal cliente quindi è più facile indicare subito il cliente; può capitare che l'operatore in stampa mi parli del codice e da esso devo risalire al cliente), il tipo di nastro da usare, il colore, la misura, ecc ecc. Gli unici dati che cambiano possono essere la quantità ordinata e ovviamente le date. Ecco perchè nella tabella clienti ho messo già i campi relativi al prodotto: questo viaggia SEMPRE insieme al cliente (di solito usa sempre lo stesso nastro).Nel caso lo stesso cliente voglia più di un prodotto si passa all'ipotesi B (vedi dopo).

    IPOTESI B: 1 cliente - 2 o più prodotti

    ID Access: 2 - Cliente Y: codice clichè 2 - Prodotto 4311, colore trasparente, 75x100, stampato 2 colori, grigio+verde medio, tipo scatola personalizzata, tipo anima personalizzata, ingranaggio 96, riferimento Pasqua, nota produzione: grigio pantone 430;

    ID access: 3 - Cliente Y: codice clichè 2 - Prodotto 4899, colore bianco, 50x132, stampato 1 colore, rosso fuoco, tipo scatola personalizzata, tipo anima personalizzata, ingranaggio 80, riferimento Natale, nota produzione: attenzione al colore.

    In questo caso lo stesso cliente ordina (o ha ordinato in passato) 2 prodotti. In questo caso ciò che mi fa gestire e differenziare l'ordine (sia per me in azienda, sia in Access) è il riferimento. Se il cliente mi dice nastro stampato 2 colori, misura, colori logo Pasqua io ho il riferimento Pasqua e scelto quello nel DB mi devono già comparire il tipo di nastro, la misura, i colori, ecc ecc.

    So che è più difficile spiegarlo a parole che effettivamente capire, ma soprattutto credo sia difficile gestire e differenziare/relazionare i vari ID. Ora come ora usiamo un file in excel dove in un foglio c'è l'elenco clienti con il prodotto ordinato vicino e negli altri foglio richiami alle righe/colonne corrette con la funzione INDICE in modo da avere una tabella riassuntiva che viene stampata e usata come bolla di lavorazione. Così facendo però queste non vengono salvate singolarmente ma proprio perchè c'è la funzione INDICE (comoda da una parte ma per definizione dinamica) ogni volta che si fa un ordine nuova quella precedente è persa e a computer non rimane un archivio e quindi uno scadenziario se non facendolo manualmente. Ecco perchè vorrei implementare access in modo che lo faccia automaticamente.

    Per quanto riguarda Northwind, non riesco a modificare le posizioni delle caselle delle maschere oppure certi riferimenti per me sono inutili (es, dipendenti, prezzo, sconto, ecc) ma rimuovendoli mi scombina il resto.

    Se può essere utile possiamo iniziare passo passo a creare le tabelle giuste per iniziare a fare l'anagrafica clienti tenendo però già conto che a ciascun cliente corrisponde almeno un prodotto che, come ormai sarà chiaro, deve essere sempre e solo quello. Se ce n'è un altro si duplica la voce cliente cambiando i parametri del prodotto.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2010-03-01T17:54:37+00:00

    Ciao bourne83,

    in effetti la richiesta è piuttosto complessa da affrontare con un unico post su un forum, probabilmente un libro non sarebbe sufficiente.

    Posso solo dirti per iniziare che Northwind non ha blocchi per cui se ci sono delle cose che non riesci a modificare facci capire dove ti inceppi che vediamo di guidarti in quello specifico passaggio.

    Poi ti consiglierei di partire da una attenta progettazione delle tabelle, che costituiscono le fondamenta di tutto l'applicativo e sbagliare questa cosa da adito poi a tanti grattacapi. 

    Ad esempio io eviterei di mischiare i clienti con i prodotti, non mi è chiaro come pensi digestire il caso di un cliente con più prodotti.

    Infine per poter chiarire i tuoi dubbi sul forum ti consiglierei di fare una sola domanda alla volta spiegando bene quali sono i dati, cosa hai fatto, cosa vorresti fare e cosa non ti riesce,  sapere anche che versione di Access stai usando non guasterebbe.


    Cinzia


    Sito RIO

    Il mio Blog

    La risposta è stata utile?

    0 commenti Nessun commento