Casella di riepilogo con valore predefinito

di il
13 risposte

Casella di riepilogo con valore predefinito

Buongiorno a tutti, lieto di fare la vostra conoscenza.

Sto creando/sistemando un database clienti e mi sono bloccato in quella che sicuramente per voi è una banalità, ma non riesco a venirne fuori.
Nella mia tabella insieme agli altri campi (indirizzo, telefono, ecc...) c'è anche il campo STATO (che indica la nazione di provenienza) e appresso il campo UE che si appoggia a una casella di riepilogo con due valori, UE e FUORI UE
Adesso sarebbe possibile far popolare il campo UE nella tabella in automatico a seconda del valore del campo stato ?
Cioè vorrei impostare che se lo stato è FRANCIA, GERMANIA, ITALIA, ecc... il campo deve essere UE
Altrimenti, per tutto ciò che non soddisfa la prima condizione, deve diventare FUORI UE.

Non so se mi sono spiegato bene, ma grazie in anticipo a chi risponderà.

13 Risposte

  • Re: Casella di riepilogo con valore predefinito

    isg71 ha scritto:


    ...Cioè vorrei impostare che se lo stato è FRANCIA, GERMANIA, ITALIA, ecc... il campo deve essere UE
    Altrimenti, per tutto ciò che non soddisfa la prima condizione, deve diventare FUORI UE.
    Questo costituisce violazione alle regole della normalizzazione, un database fatto bene invece le rispetta.
  • Re: Casella di riepilogo con valore predefinito

    Philcattivocarattere ha scritto:


    isg71 ha scritto:


    ...Cioè vorrei impostare che se lo stato è FRANCIA, GERMANIA, ITALIA, ecc... il campo deve essere UE
    Altrimenti, per tutto ciò che non soddisfa la prima condizione, deve diventare FUORI UE.
    Questo costituisce violazione alle regole della normalizzazione, un database fatto bene invece le rispetta.
    esatto, in pratica non dovresti avere un campo UE nella tua tabella ma solo nell'anagrafica delle nazioni
    sicuramente puoi comunque visualizzarlo nella maschera ma non sarà preso dalla tabella dei dati/fatti ma dall'anagrafica appunto. Sul come ci sono vari modi, dlookup è uno oppure aggiungi la colonna alla selezione dello stato e lo riporti nel controllo apposito del UE/FuoriUE
  • Re: Casella di riepilogo con valore predefinito

    isg71 ha scritto:


    Nella mia tabella insieme agli altri campi (indirizzo, telefono, ecc...)

    muttley005 ha scritto:


    non dovresti avere un campo UE nella tua tabella ma solo nell'anagrafica delle nazioni
    Sarebbe bene tu elencassi esattamente TUTTI i campi. Io mi aspetterei un campo IDComune con casella combinata che fa riferimento a una tabella Comuni avente i campi:
    IDComune
    Comune
    CAP
    Provincia
    Regione
    Stato
    Continente (qui mi aspetterei un valore UE)

    Nel momento in cui tu selezioni IDComune in tabella Clienti, ti porti appresso automaticamente anche Continente.
  • Re: Casella di riepilogo con valore predefinito

    OsvaldoLaviosa ha scritto:


    isg71 ha scritto:


    Nella mia tabella insieme agli altri campi (indirizzo, telefono, ecc...)

    muttley005 ha scritto:


    non dovresti avere un campo UE nella tua tabella ma solo nell'anagrafica delle nazioni
    Sarebbe bene tu elencassi esattamente TUTTI i campi. Io mi aspetterei un campo IDComune con casella combinata che fa riferimento a una tabella Comuni avente i campi:
    IDComune
    Comune
    CAP
    Provincia
    Regione
    Stato
    Continente (qui mi aspetterei un valore UE)

    Nel momento in cui tu selezioni IDComune in tabella Clienti, ti porti appresso automaticamente anche Continente.
    dipende che "grado" di normalizzazione che si vuole applicare
    quella "rigida" nella teoria imporrebbe una gerarchia (quindi N tabelle "a cascata") dalla comune, provincia, regione, stato, continente, pianeta, galassia, etc...
    però magari si una comune e una stato ci stanno perchè può capitare che un comune passi da una provincia ad un'altra (zone di confine) se non forse anche di regione quindi in quel caso la normalizzazione "pura" non si adatta bene
  • Re: Casella di riepilogo con valore predefinito

    Ragiono in modo pratico.
    Da dove si estraggono i dati dei comuni delle regioni...?
    Solitamente si hanno fogli in Excel, come da questo sito (ISTAT):

    Ovviamente è un file di Esempio pur sempre con una sua "relativa ufficialità", l'altra fonte è l'ADE...

    Secondo me, uno prende un elenco simile e la carica in una Tabella senza gestire la Gerarchia, quindi andrà a popolare le Combo in cascata emulando una gerarchia orizzontale.

    Almeno io farei così... non mi metterei di certo a creare una struttura, Normalizzata secondo la teoria, che poi domani diventa diffcilmente manutenibile in caso di aggiornamenti dei dati... costringendo a scrivere chissà quanto codice per gestire i dati.

    Rimarrei un po più sul pragmatico.
  • Re: Casella di riepilogo con valore predefinito

    Alex sono d'accordo, era solo teoria perchè da come l'ha strutturata lui non c'è traccia di normalizzazione, anzi duplica dati sulla tabella dei fatti. Per la cronaca, io lavorando in sanità ho altre fonti quindi un minimo di gerarchia la gestisco
  • Re: Casella di riepilogo con valore predefinito

    Vedo se riesco a spiegarmi meglio. A me serve un database clienti per tenere traccia delle vendite online. Mi piacciono le vostre idee e voglio studiarci su su come implementarle. al momento ho:
    tabella clienti con i campi: id, nickname, nome, cognome, indirizzo, cap, città, provincia, stato, UE o non UE appunto, email, telefono e note
    tabella ordini con i campi: nickname, contenuto, ordine del, spedito (con flag si/no), totale ordine, spese spediz, spese imball, commissioni e quindi totale netto (calcolato in automatico), ordine ricevuto (flag si/no), data ricezione, tracking e store di vendita (selezionato manualmente da una casella di riepilogo), feedback.

    naturalmente clienti e ordini sono relazionati con i campi nickname univoci.

    tabella store con piccolo elenco degli store

    Nel momento in cui sto provando a creare una maschera mi sono imbattuto in due difficoltà. Una è quella del popolamento automatico del campo UE in base allo stato estero che viene inserito.
    L'altra è che creando una maschera su clienti, aggiungendo una sottomaschera ordini con i mezzi che da access non c'è verso di poterla formattare in un determinato modo.

    Ripeto conosco access molto meno di voi e sono d'accordo che le cose vadano fatte bene, quindi apprezzo (e vi ringrazio ovviamente) i vostri consigli. Grazie ancora
  • Re: Casella di riepilogo con valore predefinito

    isg71 ha scritto:


    tabella clienti con i campi: id, nickname, nome, cognome, indirizzo, cap, città, provincia, stato, UE o non UE appunto, email, telefono e note
    In questa tabella crea un campo IDComune (numerico). I campi Comune, CAP, Provincia, Stato, Continente devono andare a finire in un'altra tabella Comuni con i campi che ho elencato prima. Poi crea la relazione Comuni.IDComune uno-a-molti Clienti.IDComune. Su quest'ultimo campo crei una casella combinata (meglio della casella di riepilogo).
  • Re: Casella di riepilogo con valore predefinito

    Forse se dai una occhiata al database di esempio northwind puoi trovare spunti interessanti.
    Comunque anche io farei come suggerito da alex.
    Una tabella dove sono inseriti tutti i dati riguardante l anagrafica dei comuni o delle città, collegati con l anagrafica clienti.
    In pratica nella tabella anagrafica clienti avresti solo i campi nome, cognome, indirizzo, telefono ed un campo id collegato con il luogo di residenza.
    Praticamente al momento dell inserimento del comune, automaticamente, vai a popolare tutti gli altri dati nella scheda visuale di inserimento clienti. Come comune, stato, paese eu, extra eu, senza però salvarli da nessuna parte.
  • Re: Casella di riepilogo con valore predefinito

    A me piacerebbe comunque che la scheda anagrafica risulti compilata e salvata in toto (compresi i risultati di comune e soprattutto di nazionalità poiché da quella dipendono le spese di spedizione), con la vostra soluzione mi dite che non verrebbero salvati da nessuna parte invece. Ecco perché avevo pensato a una sorta di elenco a discesa dal quale selezionare il comune e tutti gli altri dati
  • Re: Casella di riepilogo con valore predefinito

    Parti dall'assunto che non hai le basi di come si strurrira un database relazionale... e per questo motivo non comprendi quello che ti è stato suggerito.
    Nella sostanza quello che dici non è corretto, i dati ci sono già tutti e non serve riscriverli come si fa con il foglio di Excel, ma basta recuperarli dal momento che se struttura bene tutto i legami tra i dati chiamati relazioni tinconsentono di semplificare le cose.

    Ora se.non fai un passo avanti tu, questa discussione è inutile tu continui a non capire sostenendo di avere una certa esigenza che noi non comprendiamo... ma è proprio vero il contrario.

    Chi ti risponde usa indatabase da anni e comprende bene la tua esigenza dandoti la risposta più consona.

    Chiudo qui, direi che ora tocca a te, procedi pure con la tua impostazione e troverai solo problemi oppure ascolta i suggerimenti in modo proattivo e prova acapirli.
  • Re: Casella di riepilogo con valore predefinito

    Ok, provo a seguirti. Sto preparando la tabella comuni utilizzando l'elenco che hai dato in precedenza. Nel campo IDComuni da relazionare in entrambe le tabelle, ci va un valore numerico a caso (non può essere il cap dato che ci sono comuni con lo stesso cap) oppure l'identificativo dei comuni (quello a 6 cifre) che c'era nella tabella che mi dai dato ?
  • Re: Casella di riepilogo con valore predefinito

    Rileggendomi mi sono spiegato male io.
    I dati li hai tutti salvati, in due tabelle diverse collegate in relazione tra di loro.
    Prima di procedere ti conviene leggere qualcosa sui database relazionali, come già to è stato suggerito.
    In parole povere un database relazionale funziona come un magazzino che serve più reparti.
    I prodotti sono contenuti tutti in magazzino ed i vari reparti hanno una scheda con su scritto nome e posizione del prodotto da prelevare.
    Cosi funziona quello che ti stiamo dicendo. Nell anagrafica clienti hai i dati del cliente, ed un codice da cui prelevare i dati nella tabella che contiene tutti i dati dei comuni e degli stati. Praticamente se hai 10 clienti nello stesso comune, avrai solo un record dei dati di quel comune e non riscritti 10 volte gli stessi dati.
Devi accedere o registrarti per scrivere nel forum
13 risposte