Creazione query da campi esistenti

di
Anonimizzato13622
il
12 risposte

Creazione query da campi esistenti

Da diverso tempo lavoro su un database per la gestione dei lavori di un artigiano e sono riuscito con l'aiuto di Osvaldo ad ottenere una buona parte dei risultati desiderati, ma non riesco a completare il tutto.
bando alle ciance.....
ho creato un database che contiene 3 tabelle.
1ª Tabella - ANAGRAFICA contiene i seguenti campi:
ID Persona
Cognome
Nome
Indirizzo
Città
CAP
P.IVA
C.Fiscale
Telefono
2ª Tabella - TABELLA PREZZI contiene i seguenti campi:
Descrizione lavoro
Prezzo
3ª Tabella - LAVORAZIONI contiene i seguenti campi:
ID
Medico
Paziente
Data In
Descrizione lavoro
Qtà
DataOut
Check
Dalle tre tabelle ho creato una query che si chiama Lavori estesi e successivamente una maschera per l'inserimento dei dati e due report su query selezionate.
Fino a quì tutto funziona perfettamente
Mi sono nati problemi quando ho cercato di creare una query per gestire i dati come un estratto conto.
Ovvero ad una query che per la prima parte è identica a Lavori estesi, ho aggiunto tre campi denominati: Descrizione, Importo arretrato,Importo Pagato.
Questi campi li ho inseriti da due tabelle appositamente create: ARRETRATI e PAGAMENTI
Tabella ARRETRATI contiene i seguenti campi:
ID
Medico
data
descrizione arretrati
Importo arretrato
Tabella Pagamenti contiene i seguenti campi:
ID
Medico
data
Tipo di pagamento
descrizione
Importo Pagato
Sia su ARRETRATI che su Pagamenti ho creato una maschera per l'inserimento dei dati.
Dopo tutto questo, nel momento in cui inserisco un qualsiasi campo delle ultime due tabelle, nella query mi si moltiplicano i records di lavorazione con un criterio da me non compreso.
Spero di essere stato comprensibile, allego uno schema di quanto esposto.
Qualcuno può darmi una mano??? GRAZIEEEEEEEE

12 Risposte

  • Re: Creazione query da campi esistenti

    Mostra la query....

    P.S. Il titolo è troppo generico.
    Si può forse creare una query da campi 'inesistenti' ?
  • Re: Creazione query da campi esistenti

    Sicuramente non hai ricevuto l'allegato, in ogni caso:
    La query già creata si chiama "lavori estesi" e contiene i seguenti campi:
    Medico (da Tabella "Lavorazioni")
    Paziente (da Tabella "Lavorazioni")
    Data In (da Tabella "Lavorazioni")
    Descrizione lavoro (da Tabella "Lavorazioni")
    Qtà (da Tabella "Lavorazioni")
    Prezzo (da "Tabella Prezzi")
    Importo (campo calcolato)
    DataOut (da Tabella "Lavorazioni")
    Check (da Tabella "Lavorazioni")
    Fino a quì tutto funziona

    La query che dovrei creare, si chiamerà "Estratti Conto" e conterrà i seguenti campi:
    Medico (da Tabella "Lavorazioni")
    Paziente (da Tabella "Lavorazioni")
    Data In (da Tabella "Lavorazioni")
    Descrizione lavoro (da Tabella "Lavorazioni")
    Qtà (da Tabella "Lavorazioni")
    Prezzo (da "Tabella Prezzi")
    Importo (campo calcolato)
    Descrizione (da Tabella "Arretrati") (da Tabella "Pagamenti")
    Importo arretrato (da Tabella "Arretrati")
    Importo Pagato (da Tabella "Pagamenti")
    Provo a ritrasmettere l'allegato.
    Grazie per la risposta
  • Re: Creazione query da campi esistenti

    Per me il campo Prezzo non deve stare nella tabella Prezzi. Se il Prezzo cambia nel corso del tempo fa cambiare tutti i valori e calcoli degli storici precedenti, sballando tutto e restituendo risultati incoerenti. Il campo Prezzo deve stare nella tabella Lavorazioni.
    Non ha senso parlare di una tabella Arretrati. I calcoli arretrati devono essere frutto di apposite query che facciano questo.
    Trovo che c'è una cattiva organizzazione tabelle che impedisce di continuare il discorso.
  • Re: Creazione query da campi esistenti

    Scusa la mia ignoranza su access, mi dici che devo eliminare il prezzo da tabella prezzi, ma eliminandolo, come faccio a inserirlo automaticamente in Tabella LAVORAZIONI, corrispondente con la relativa "Descrizione Lavoro" ?
    Gli arretrati, esistono già e quindi devo inserirli un unica volta nel database.
    Come dovrei organizzare le tabelle ?
    se ti è possibile vedi di darmi una mano.
    In ogni caso BUON NATALE
  • Re: Creazione query da campi esistenti

    Scusa la mia ignoranza su Access.
    Mi dici di eliminare il prezzo da TABELLA PREZZI, ma come potrò poi inserirlo automaticamente in corrispondenza della relativa "Descrizione lavoro" nella TABELLA LAVORAZIONI ?
    Gli arretrati regressi, esistono e li devo inserire nel calcolo come devo fare?
    Puoi schematizzarmi l'organizzazione delle Tabelle?
    Grazie per la risposta e comunque BUON NATALE
  • Re: Creazione query da campi esistenti

    Se proprio vuoi stabilire che scegliendo [Descrizione lavoro] ti porti appresso anche il suo Prezzo, dovresti impostare una tabella Listini da aggiornare in base a una Data simbolo (quindi dovrai includere un campo Data) e stabilire che scegliendo da casella combinata [Descrizione lavoro], porti appresso il Prezzo più recente. Ma la casella combinata dovrà allora essere una query.
    A parte questo discorso, non capisco l'utilità di tabelle come Pagamenti e Arretrati. Non comprendo neanche il significato dei campi Qtà e Check.

    Io vedrei le seguenti tabelle:

    Listini
    IDListino
    Data
    Descrizione lavoro
    Prezzo

    Crea una query dove importi la tabella Listini e trascini tutti i suoi campi, nel seguente ordine:
    IDListino | Descrizione lavoro | Prezzo | Data
    Clicca sul tasto in alto Totali e imposta Max su Data. Il campo Data può non essere visualizzato.
    Salva la query con nome PrezziAggiornati
    Imposta la casella combinata sulla tabella Lavorazioni, al campo [Descrizione lavoro], Origine riga: PrezziAggiornati.
    Per tutto il resto, non ho capito cosa vuoi ottenere.
  • Re: Creazione query da campi esistenti

    ernestosup ha scritto:


    sicuramente non hai ricevuto l'allegato
    Non c'era nessun allegato.

    ernestosup ha scritto:


    La query già creata si chiama "lavori estesi" e contiene i seguenti campi:
    Non ha alcun senso descrivere solo i campi, se non si mostra l'enunciato SQL completo (query), perché è quest'ultimo che fa la differenza.

    ernestosup ha scritto:


    Mi dici di eliminare il prezzo da TABELLA PREZZI, ma come potrò poi inserirlo automaticamente in corrispondenza della relativa "Descrizione lavoro" nella TABELLA LAVORAZIONI ?
    Gli arretrati regressi, esistono e li devo inserire nel calcolo come devo fare?

    Osvaldo ha ragione riguardo al cambio dei prezzi, ma spostare il campo Prezzo nella tabella Lavorazioni sposta il problema, senza risolverlo.
    Il solo modo per non incorrere in questo errore è gestire le date di validità (inizio e fine)

    I PREZZI devono stare nella tabella LISTINI, collegata alla tabella ARTICOLI ed alla tabella ANAGRAFICA LISTINI.
    Questo permette di creare più listini, anche con uguale validità, ma con prezzi differenti.
    Inoltre ti consente in futuro di assegnare ad ogni cliente un listino anche personalizzato.

    La tabelle dovrebbero essere indicativamente composte così:

    ANAGRAFICA LISTINI
    - IDListino
    - Descrizione
    - <eventuali altri campi>

    LISTINI
    - IDListino - FK tabella LISTINI
    - IDArticolo - FK tabella ARTICOLI
    - DataInizValidita
    - DataFineValidita
    - Prezzo

    In questo modo, qualsiasi modifica tu faccia ad un qualsiasi documento (ODP,DDT,Fattura, ecc.) il prezzo sarà sempre quello in cui la data rientra nel range DataInizValidita e DataFineValidita.
    Così saranno gestiti automaticamente anche i tuoi arretrati.
  • Re: Creazione query da campi esistenti

    OsvaldoLaviosa ha scritto:


    non capisco l'utilità di tabelle come Pagamenti e Arretrati. Non comprendo neanche il significato dei campi Qtà e Check.
    Con le due tabelle pensavo di creare due oggetti da richiamare successivamente per visualizzare tutti i pagamenti e tutti gli arretrati.
    Qtà e essenziale perchè rappresenta il numero delle lavorazioni. (Capsule Qtà 4)
    Check mi serve per evidenziare le lavorazioni eseguite da un secondo operatore e successivamente calcolarne il valore in una query.

    gibra ha scritto:


    IDArticolo - FK tabella ARTICOLI
    Per tabella articoli, Intendi la mia "tabella lavorazioni"
    ancora grazie.
  • Re: Creazione query da campi esistenti

    ernestosup ha scritto:


    gibra ha scritto:


    IDArticolo - FK tabella ARTICOLI
    Per tabella articoli, Intendi la mia "tabella lavorazioni"
    Ovviamente no, sono due cose completamente diverse.
    La tabella Articoli (anagrafica) dovrebbe servire ad alimentare la tua tabella Lavorazioni.
    Non vorrai dirmi che non hai previsto una tabella ARTICOLI ?
  • Re: Creazione query da campi esistenti

    Mi metti in confusione, i miei articoli, sono dentro tabella prezzi, che contiene
    Descrizione del lavoro e
    Prezzo
    e che alimentano "Tabella lavorazioni"
    Ti enuncio le tabelle da me create:
    1ª Tabella - ANAGRAFICA MEDICI contiene i seguenti campi:
    ID Persona (Chiave primaria)
    Cognome
    Nome
    Indirizzo
    Città
    CAP
    P.IVA
    C.Fiscale
    Telefono

    2ª Tabella - TABELLA PREZZI contiene i seguenti campi:
    Descrizione lavoro (ecco questi dovrebbero essere gli Articoli)
    Prezzo

    3ª Tabella - LAVORAZIONI contiene i seguenti campi:
    ID Chiave primaria
    Medico
    Paziente
    Data In
    Descrizione lavoro
    Qtà
    DataOut
    Check
    Grazie per la tua collaborazione
  • Re: Creazione query da campi esistenti

    L'hai già detto, l'abbiamo capito ma è sbagliato, e ti abbiamo suggerito come fare.

    Invece di scrivere genericamente :

    'mi metti in confusione'

    chiedi cosa non capisci.
    Inutile che ripeti quello che hai già scritto.

    Tra l'altro dovresti spiegare anche cosa c'azzecca il termine Lavorazioni con i termini Medico e Paziente.
    In sostanza, spiega il contesto della tua applicazione.
  • Re: Creazione query da campi esistenti

    Ci proverò in seguito.
    Grazie per la risposta
Devi accedere o registrarti per scrivere nel forum
12 risposte