Estrapolare solo i recond i cui collegati rispondono a param

di il
5 risposte

Estrapolare solo i recond i cui collegati rispondono a param

Salve a tutti, sono nuovo di questo forum e sono un utente semplice, pentanto mi scuso se il mio linguaggio potrà essere non sempre appropriato. Venendo al dunque, io ho creato un database con access 2010 per la gestione di fornitori e forniture e sarebbe per me comodo avere una funzione che non so come realizzare. Mi interessa, tra i fornitori (tabella), avere restituiti solo quelli le quali forniture (altra tabella collegata alla precedente, i cui record sono già visibili cliccando sul "+" nel record di fornitori) hanno tutte nel campo "data" un valore non nullo e nel campo si/no almeno un valore "No". Come posso fare?

Grazie dell'attenzione.

5 Risposte

  • Re: Estrapolare solo i recond i cui collegati rispondono a param

    riccardozack ha scritto:


    ...e nel campo si/no almeno un valore "No"...
    Quanti campi sì/no può avere una fornitura? descrivi la struttura di questa tabella e come è collegata con fornitori.
  • Re: Estrapolare solo i recond i cui collegati rispondono a param

    Philcattivocarattere ha scritto:


    riccardozack ha scritto:


    ...e nel campo si/no almeno un valore "No"...
    Quanti campi sì/no può avere una fornitura? descrivi la struttura di questa tabella e come è collegata con fornitori.
    La tabella fornitori ha i seguenti campi: id, nome, cognome, recp. telefonico, email. La tabella forniture ha: id, nome, marca, id fornitore, id cliente, data acquisto, data vendita, fatturato.
    Tra le due tabelle la relazione è tra l'id della tabella fornitore e id fornitore nella tabella forniture. In pratica ogni fornitore porta delle certe forniture. A me interessa sapere quali sono i fornitori le quali forniture sono state TUTTE vendute (valore not null in data vendita) e ce n'è almeno una non fatturata (che è campo si/no).
  • Re: Estrapolare solo i recond i cui collegati rispondono a param

    riccardozack ha scritto:


    La tabella fornitori ha i seguenti campi: id, nome, cognome, recp. telefonico, email. La tabella forniture ha: id, nome, marca, id fornitore, id cliente, data acquisto, data vendita, fatturato.
    Tra le due tabelle la relazione è tra l'id della tabella fornitore e id fornitore nella tabella forniture. In pratica ogni fornitore porta delle certe forniture. A me interessa sapere quali sono i fornitori le quali forniture sono state TUTTE vendute (valore not null in data vendita) e ce n'è almeno una non fatturata (che è campo si/no).
    Crea una query in cui inserisci le due tabelle, le colleghi con il campo che hanno in comune [id fornitore] se già non compare automaticamente (potrebbe-dovrebbe essere già inserito nelle relazioni). Imposta il collegamento tra i due campi in modo che visualizzi tutti i record della tabella forniture e solo quelli che hanno una corrispondenza nella predente nella tabella fornitori. Seleziona i campi che ti interessano, in particolare [data] e [fatturato]. Nei criteri di [data] metti "Is not Null" e sulla stessa righa, in corrispondenza del campo [fatturato] metti "No" (o Falso)
    Se un fornitore ha più forniture non fatturate forse te lo propone ogni volta. Se non ti interessa sapere a che fornitura è riferito, togli l'ID fornitura dai campi della query e attiva le funzioni di aggregazione (il pulsante con il simbolo della sommatoria, che riporta la descrizione Totali).
  • Re: Estrapolare solo i recond i cui collegati rispondono a param

    Philcattivocarattere ha scritto:


    riccardozack ha scritto:


    Se non ti interessa sapere a che fornitura è riferito, togli l'ID fornitura dai campi della query e attiva le funzioni di aggregazione (il pulsante con il simbolo della sommatoria, che riporta la descrizione Totali).
    Grazie mille per l'aiuto, credevo fosse molto più difficile invece si trattava di un errore che facevo nel join. Ho riscontrato solo un problema quando la data delle forniture è diversa per alcune forniture dello stesso cliente, in questo caso non venivano raggruppate (ovviamente) date diverse. Ho risolto dando "media" come formula a data al posto di raggruppamento in modo da permettere ad access di raggrupparle.
  • Re: Estrapolare solo i recond i cui collegati rispondono a param

    riccardozack ha scritto:


    Grazie mille per l'aiuto, credevo fosse molto più difficile invece si trattava di un errore che facevo nel join.
    Nelle [Relazioni] del db hai collegato queste due tabelle? In questo modo access ti propone automaticamente il tipo di join. Rettifica del 18/09/2014: come non detto, non propone automaticamente il left join ma, giustamente, l'inner join.
Devi accedere o registrarti per scrivere nel forum
5 risposte