Problema con campo calcolato su query

di il
3 risposte

Problema con campo calcolato su query

Ciao a tutti,

Premetto che non sono un esperto di access, vi spiego il mio problema, ho una query dove ci sono due colonne che hanno la stessa tipologia di dati ma l'origine è diversa. In sintesi ci sono due tabelle che devono essere riempite da due persone diverse. Ho pensato quindi di creare un campo calcolato che se nella colonna A il campo era vuoto, doveva prendere il record della colonna b oppure A; per fare questo ho pensato di utilizzare la seguente formula:

IIF(colonna a) is null; colonna B; colonna A

Il problema è che non mi restituisce il record inserito nelle due colonne ma la chiave primaria delle due tabelle di origine.

Spero di essere stato chiaro. Vi ringrazio

Endum

3 Risposte

  • Re: Problema con campo calcolato su query

    Benvenuto nel forum.
    Trovo improprio e/o sbagliato l'uso di 2 tabelle che parlano lo stesso linguaggio e poi una query così come la vorresti progettare tu.
    Potresti raccontare a più ampio respiro:
    - di cosa parla il tuo database
    - tutti i nomi propri delle tabelle, con tutti i nomi campi e relativa indicazione di chiave primaria
    - le relazioni
    - rispiegare il problema.
  • Re: Problema con campo calcolato su query

    Ciao, ti ringrazio per l’interesse. Il mio database deve monitorare la gestione dei nuovi contratti sottoscritti. Dove lavoro ogni nuovo contratto con un cliente prima di essere fatturato passa attraverso due fasi:
    1. Controllo delle corrette informazioni riportate nei nuovi contratti da parte delle amministratici di zona per poi essere spediti nella sede centrale;
    2. Controllo dell’ufficio amministrativo centrale;
    Il mio database è progettato nel seguente modo:

    Tabella 1 – Elenco venditori: Chiave primaria nr. Automatico, Nome, Cognome, Matricola, data di assunzione, data di dimissione (la scelta di lasciare il numero automatico come chiave primaria è dovuta dal fatto che alcuni venditori con una determinata matricola escono dall’azienda, poi tornano e gli riviene associata la stessa matricola, quindi la matricola non è un valore unico).

    Tabella 2 – Elenco installatori: Chiave primaria nr. Automatico, Nome, Cognome, Matricola. Etc. (stesso discorso per la chiave primaria della tabella 1).

    Tabella 3 – Contratti installati: sono riportati il codice di ogni contratto installato, Matricola Venditore, Matricola Installatore, questa tabella proviene da un estrazione excel di un gestionale;

    Tabella 4 – Attività amministratici di zona: ho creato una tabella dove riporto il campo “codice contratto installato” della tabella 3, la data di arrivo di consegna del contratto da parte dell’installatore, la data di spedizione alla sede centrale

    Tabella 5 – Modifica informazioni contrattuali da parte delle amministratici di zona: talvolta succede che per diversi motivi le informazioni riportate nel gestionale non siano corrette (matricola venditore o matricola installatore) quindi in questa tabella riporto il campo “codice contratto installato” della tabella 3 e poi la matricola del venditore e quella dell’installatore che eventualmente le amministratici possono modificare se vedono che c’è un errore nei dati della Tabella 3. In questa tabella la matricola del venditore da cambiare e dell’installatore da cambiare sono prese rispettivamente dalla tabella 1 e dalla tabella 2.

    Tabella 6 – Attività amministratici ufficio centrale: riporto il campo “codice contratto installato” della tabella 3, la data di arrivo del contratto, la data in cui il contratto può essere fatturato.

    A questo punto ho creato un query delle tabelle 4, 5 e 6 dove ho inserito dei campi calcolati che mi indicano i giorni che passano per i diversi step per individuare colli di bottiglia.

    Il mio problema è nato perché volevo mettere un ulteriore possibilità nel momento in cui il contratto arrivava in amministrazione di modificare la matricola del venditore o dell’installatore nel caso di errore. Per fare questo però nella maschera che avevo pensato di fare per l’ufficio centrale volevo riportare la matricola che esce dal gestionale oppure quella modificata e da qui ho pensato di aggiungere un campo calcolato nella mia query:

    IIF [Matricola venditore da cambiare] is null; [Matricola venditore]; [Matricola venditore da cambiare]

    Sono un principiante che ha utilizzato excel per anni quindi capisco che alcuni ragionamenti non sono in linea con quello che deve essere un database. Accetto qualsiasi suggerimento.

    Spero di essere stato un pochino più chiaro.
    Endum
  • Re: Problema con campo calcolato su query

    Endum ha scritto:


    Il mio database deve monitorare la gestione dei nuovi contratti sottoscritti. Dove lavoro ogni nuovo contratto con un cliente prima di essere fatturato passa attraverso due fasi:1. Controllo delle corrette informazioni riportate nei nuovi contratti da parte delle amministratici di zona per poi essere spediti nella sede centrale;2. Controllo dell’ufficio amministrativo centrale;
    Mmmhhh...Almeno io, continuo a non capire "bello bello" il tuo lavoro o campo professionale. Potresti fare un esempio concreto?

    Endum ha scritto:


    Tabella 1 – Elenco venditori: Chiave primaria nr. Automatico, Nome, Cognome, Matricola, data di assunzione, data di dimissione (la scelta di lasciare il numero automatico come chiave primaria è dovuta dal fatto che alcuni venditori con una determinata matricola escono dall’azienda, poi tornano e gli riviene associata la stessa matricola, quindi la matricola non è un valore unico).

    Tabella 2 – Elenco installatori: Chiave primaria nr. Automatico, Nome, Cognome, Matricola. Etc. (stesso discorso per la chiave primaria della tabella 1).
    Queste 2 tabelle hanno gli stessi campi. Devono diventare una sola. Se hai la necessità di discriminare se si tratta di Venditore o Installatore puoi aggiungere un campo "bivalore" che discrimina in questo senso.

    In tutta la tua esposizione tabelle non vedo le relazioni. Le hai date per implicite? Io non le ho capite.
    Per tutto il resto, non ho capito ancora, per quello che ho detto all'inizio.
Devi accedere o registrarti per scrivere nel forum
3 risposte