DB raccolta ordini

di il
30 risposte

DB raccolta ordini

Devo sostituire un modulo di raccolta ordini clienti di una pasticceria.

Il cliente entra e l'operatore del negozio segna su un foglio questi dati :
- dati anagrafici cliente con conseguente date presa ordine e consegna prevista dei prodotti ordinati
- prodotto, kg e quantità
- torta o costata e varie personalizzazioni

Conclusa la presa dell'ordine stampa al cliente dell'ordine

Allego lo schema DB che ho creato e chiedo consigli se per voi il db è normalizzato.
allego anche maschera ch eho creato per presa ordini
L'ho provato è sembra funzionare bene a parte qualche macro che devo capire come farle.. ma dato che su alcune domande poste nell'altro forum mi hanno segnalato che secondo loro il DB non è nrmalizzato.. chiedo a voi..

TKS !
Allegati:
maschera presa ordine
maschera presa ordine

tabelle, campi, relazioni, chiavi
tabelle, campi, relazioni, chiavi

30 Risposte

  • Re: DB raccolta ordini

    L'immagine della maschera rispecchierebbe lo stesso look dell'ordine cartaceo?
    Se sì, i dati Anagrafici del Cliente tu li scrivi sempre?
    Se il Cliente "Mario Rossi" viene da te spesso, tu compili quel form scrivendo ogni volta:
    Nome: Mario
    Cognome: Rossi ?

    Non mi è chiara l'utilità della tabella punti_vendita.
  • Re: DB raccolta ordini

    Non rispecchia esattamente il cartaceo.. Quello lo faccio con il report di stampa.
    No, c'è un anagrafica cliente, se nel campo id seleziona id cliente già presente i campi dellanagrafica si compilano in automatico. Se è un nuovo cliente li scrive a mano.

    Campo punti vendita perché sono 4 negozi e il programma sarà accessibile via terminal server. Quindi tutti i negozi in contemporanea useranno il db.
  • Re: DB raccolta ordini

    Io avrei pensato alla seguente struttura (vedi sotto).

    Le tabelle DettagliOrdiniProdotti e TipiDettagli possono essere opzionali, questo dipende da te.
    In TipoDettaglio ci andrebbero valori come: Sesso, Candeline, Farcitura, ...
    Se il TipoDettaglio vuole un valore testuale tu compili il campo Testo (ad es. Maschio/Femmina)
    Se il TipoDettaglio vuole un valore numerico tu compili il campo Numero.
    Se sei furbo potresti sempre attribuire un valore numerico anche a Sesso o quant'altro e avere un solo campo Numero.

    Se questa strada non ti convince, allora nella tabella DettagliOrdini devi mettere tanti campi:
    Sesso, Farcitura, NumeroPersone, ecc...
    in questo modo puoi eliminare le due tabelle che ho appena citato.
    È ovvio che se stai vendendo Prodotti che non sono Torta o Crostata, tutti quei campi "dettagli" non li compili e li lasci vuoti.
    Allegati:
    10250_782c12238dc25966d016c706f2ca4fdf.jpg
    10250_782c12238dc25966d016c706f2ca4fdf.jpg
  • Re: DB raccolta ordini

    Ovviamente la struttura da te proposta è più snella e di sicuro normalizzata.. però mi crea un sacco di problemi nella presentazione della maschera in quanto l'operatore dovrà lasciare spesso campi vuoti nella compilazione dell'ordine. Devi pensare che la persona che lo utilizzerà non ne capisce niente ed è molto facile che non capisca e mi crei problemi nella compilazione.
    Come l'ho pensato io i campi sono tutti da compilare e l'operatore non ha vie di fuga per sbagliare.
    è vero che non è ottimizzato / normalizzato ma funzioan bene e anche la maschera di compilazione è molto snella e di semplice utilizzo.
    Se continuo ad utilizzare il mio schema tabelle potrò avere problemi futuri ? mi sembra, anche se poco snello, corretto e funzionale.
    Ti allego anche il report di stampa ordine per farti vedere come esce
    Allegati:
    esempio stampa ordine
    esempio stampa ordine
  • Re: DB raccolta ordini

    Apportando le dovute indicazioni per l'utente inesperto/imbranato potresti dare indicazioni passo passo. Per me è giusta la mia struttura. La tua non lo è tanto è vero che non ti ho capito a lungo nei vari threads. Basta quel po' di insegnamento e abitudine...Access (o qualsiasi database) crea sempre problemi psicologici ai principianti. Se abbiamo tutti imparato Word, poi Excel, poi a masterizzare CD e DVD, impariamo pure un po' di Access.
    Ripeto, tutti le domande degli altri threads si abbatterebbero automaticamente perchè il database viene guardato da tutta un'altra angolazione.
    Il tuo dilemma è solo decidere se vuoi la tabella DettagliProdottiOrdini oppure no.
    Tra l'altro ho visto che nella schermata maschera Prodotti tu avresti scritto Pizza. Perchè anche la Pizza non potrebbe avere le varianti Margherita, Napoletana, 4 stagioni, Personalizzata ecc...?

    Provo anche io a fare un passo indietro. Francamente neanche a me piace la cascata a 4 tabelle Clienti/Ordini/DettagliOrdini/DettagliProdottiOrdini alquanto inusuale.
    Elimina TipiDettagli e DettagliProdottiOrdini.
    In tabella DettagliOrdini ci metti i campi:
    IDDO (IDDettaglioOrdine)
    IDOrdine
    IDProdotto
    Sesso
    Candeline
    Numeri
    PerQuantePersone
    Forma
    Farcitura
    Decorazione
    Prezzo kg
    CialdaCatalogo
    CialdaCliente

    ...questi ultimi 2 campi non li ho capiti, li lascio stare così.
    A te interessa lavorare con maschera/sottomaschera Ordini/DettagliOrdini. Se decidi di creare la sottomaschera DettagliOrdini non in Foglio dati, ma Maschera continua, potresti mettere degli asterischi o indicazioni testuali ai campi OBBLIGATORI (IDOrdine che sarebbe alimentato automaticamente, IDProdotto). Tutti gli altri sarebbero facoltativi.

    asnaldo ha scritto:


    Se continuo ad utilizzare il mio schema tabelle potrò avere problemi futuri ?
    Decisamente sì.
  • Re: DB raccolta ordini

    Non ti nego che come hai fatto tu lo schema è molto più funzionale e pulito.. (ovviamente tu sei esperto e io un principiante) però ti dico i dubbi che ho prima di procedere a rifare tutto.

    1) ho già passato il programma al cliente per fare i test quindi se devo rifarlo devo riproporlo con le stesse maschere

    2) non mi va di proporre sulla maschera tutti i campi dettaglio disponibile del prodotto in quando voglio obligare la persona a compilare tutti i campi del prodotto e non lasciare campi null e non dargli possibilità di errore. Per questo motivo come faccio a dire nella maschera che: se una persona seleziona pizza può solo compilare il campo kg e qtà, e vedrà solo questi due da compilare; mentre se seleziona torta i campi che potrà compilare saranno farcitura, candeline, numero, kg, per quante persone ecc ecc ? un po' come quella che ho creato ora. Vorrei ricreare la stessa visualizzazione che vedi nella maschera allegata nel primo post

  • Re: DB raccolta ordini

    asnaldo ha scritto:


    1) ho già passato il programma al cliente per fare i test quindi se devo rifarlo devo riproporlo con le stesse maschere

    asnaldo ha scritto:


    Vorrei ricreare la stessa visualizzazione che vedi nella maschera allegata nel primo post
    Nessuno ti nega un look di sottomaschera (maschera continua) tale da evidenziare i campi obbligatori e mettere in un angolo i campi facoltativi.

    asnaldo ha scritto:


    non mi va di proporre sulla maschera tutti i campi dettaglio disponibile del prodotto
    Daccordo sul fatto che aboliamo la strada di DettagliProdottiOrdini una volta per sempre.

    asnaldo ha scritto:


    voglio obbligare la persona a compilare tutti i campi del prodotto e non lasciare campi null e non dargli possibilità di errore. Per questo motivo come faccio a dire nella maschera che: se una persona seleziona pizza può solo compilare il campo kg e qtà, e vedrà solo questi due da compilare; mentre se seleziona torta i campi che potrà compilare saranno farcitura, candeline, numero, kg, per quante persone ecc ecc ? un po' come quella che ho creato ora.
    Qua entriamo più nel merito di Access. Ti consiglio di aprire un nuovo thread nella sezione Access.
    Se sei daccordo, questa discussione può ritenersi conclusa.
    Dimenticavo. Ovviamente se la tabella DettagliOrdini ha tutti quei campi, puoi ripristinare tutte quelle piccole tabelle satelliti che gli stanno intorno e che tu avevi previsto nella prima struttura, cioè Forma, Farcitura, Decorazione. Torta o Crostata no perchè questi valori rientrano al pari di Pizza ecc...
    Per completezza del thread, ripropongo l'immagine completa riveduta e corretta.
    Allegati:
    10250_6f29842d85b861a45fc5604242763b76.jpg
    10250_6f29842d85b861a45fc5604242763b76.jpg
  • Re: DB raccolta ordini

    Nessuno ti nega un look di sottomaschera (maschera continua) tale da evidenziare i campi obbligatori e mettere in un angolo i campi facoltativi.
    GIà ora uso due sotto-maschere per gestire torta / prodotti ma per colpa tua ora devo riveder tutto L'unica cosa che non capisco cosa intendi mettere i campi in un angolo (nessuno potrà mettere Baby in un angol by Dirty Dancing ) come ti ho scritto per me è importante il punto di non lasciare campi a null nella maschera
    Daccordo sul fatto che aboliamo la strada di DettagliProdottiOrdini una volta per sempre.
    Se sei daccordo, questa discussione può ritenersi conclusa.
    perfetto
  • Re: DB raccolta ordini

    asnaldo ha scritto:


    due sotto-maschere per gestire torta / prodotti
    Questo concetto è totalmente sbagliato. Non so come tu sia riuscito a crearlo e gestirlo, ma impone alle maschere/Access un lavoro su 2 fronti altamente sconsigliato. Voglio dirti semplicemente che nessun manuale prevede una situazione del genere.

    asnaldo ha scritto:


    L'unica cosa che non capisco cosa intendi mettere i campi in un angolo...come ti ho scritto per me è importante il punto di non lasciare campi a null nella maschera
    Che ne dici di fare una sottomaschera continua DettagliOrdini dove i campi IDOrdine e IDProdotto compaiono più grossi ed evidenti e li metti a sinistra. Ben distanziati a destra e più piccoli i restanti campi.
    Ripeto, questa tematica, unitamente al fatto che vorresti compilare solo alcuni campi in determinate condizioni, è un problema da delegare a Access. Adesso non si tratta più di mettere in discussione la struttura tabelle.

    asnaldo ha scritto:


    per colpa tua ora devo riveder tutto
    Quello che ti è capitato è di normale amministrazione per un principiante. Ci sono/siamo cascati quasi tutti (e il forum che ci sta a fare), ma si tratta pure di un errore dove si impara sbagliando.
  • Re: DB raccolta ordini

    Questo concetto è totalmente sbagliato. Non so come tu sia riuscito a crearlo e gestirlo, ma impone alle maschere/Access un lavoro su 2 fronti altamente sconsigliato. Voglio dirti semplicemente che nessun manuale prevede una situazione del genere.
    ti allego la struttura della maschera con sotto le due sotto maschere... però gira bene anche così ihih
    Ripeto, questa tematica, unitamente al fatto che vorresti compilare solo alcuni campi in determinate condizioni, è un problema da delegare a Access. Adesso non si tratta più di mettere in discussione la struttura tabelle.
    finito di rifare il db partirò ad aprire post di là.. preparari !!!
    Allegati:
    sotto maschera
    sotto maschera
  • Re: DB raccolta ordini

    Allego struttara db rifatta
    Allegati:
    nuova struttura
    nuova struttura
  • Re: DB raccolta ordini

    OK.
    Non va più bene la tabella Forme relazionata uno-a-molti col campo DettagliOrdini.Forma?
    Giusto un mio puntiglio metodologico:
    - Nomina sempre al PLURALE i NomeTabella
    - Nomina sempre al SINGOLARE il NomeCampo
    quindi tabella Farciture, campo Farcitura. Tabella Decorazioni, campo Decorazione.
    Dall'immagine si legge la tabella PentiVendita, correggi PuntiVendita.
    Ti consiglio di mantenere rigida questa metodologia. Se domani hai bisogno di creare espressioni, codici VBA, il riferimento agli oggetti deve sempre essere coerente. Se col tempo intendi farlo a memoria, una dizione corretta all'inizio ti facilita per il futuro.
  • Re: DB raccolta ordini

    No perchè il cliente mi ha detto che la forma è a scelta del cliente (potrebbe essere forma a libro, stella, pupazzo ecc ecc) quindi campo libero.. molto probabilmente forse farò la teballa CialdaCatalogo
  • Re: DB raccolta ordini

    Ciao con la nuova struttura ho provato a fare maschera e report ma è un macello.. Troppi campi vuoti.. E difficile gestione.
    Il prodotto con due campi è molto differente da quello che ne richiede otto.

    Sui report è ancora più un macello.. Vedi maschera e report che ho allegato nei post prima e immagina di farli con la nuova struttura.. Troppo un macello.

    L'ideale è fare due tabelle tipo come il mio primo schema tabelle.
    Mi potresti aiutare a normalizzare il db usando però due tabelle prodotto? Dove in una solo solo tre i campi obbligatori e nell'altra più di sei...

    Tks..
Devi accedere o registrarti per scrivere nel forum
30 risposte