Contare record in una query escludendo determinati campi

di il
6 risposte

Contare record in una query escludendo determinati campi

Ho creato una query che attinge, raggruppa per "data", conta il numero e somma gli "importi" da una tabella "operazioni":

TABELLA
ID, data, importooperaz
1, 01/01/2001, 10.00
2, 01/01/2001, 10.00
3, 05/01/2001, 20.00
4, 05/01/2001, 10.00
5, 06/01/2001, 0.00

QUERY
DATA, CONTAOPERAZIONI, SOMMADIIMPORTI
01/01/2001, 2, 20.00
05/01/2001, 2, 30.00
06/01/2001, 1, 0.00

Per contare il numero di operazioni ho usato la funzione "count" ma ho un problema in quanto vorrei che i record contenenti "somma di importi" uguali a zero non fossero inclusi nel conteggio del numero di operazioni. Riporto di seguito il risultato che vorrei ottenere:

DATA, CONTAOPERAZIONI, SOMMADIIMPORTI
01/01/2001, 2, 20.00
05/01/2001, 2, 30.00
06/01/2001, 0, 0.00

ho pensato che la funzione "DCount" potesse fare al mio caso ma se vero , non sono riuscito in nessun modo a scriverla in modo corretto per farla funzionare.
spero di non essere stato prolisso!

6 Risposte

  • Re: Contare record in una query escludendo determinati campi

    Cosa succede se, nalla query sotto il campo SommaImporti inserisci il criterio
    
    >0
    Se invece non vuoi nemmeno che vengano presi in considerazione i Valori con Importo = 0 allora nella Query sotto il campo IMPORTO metti sempre
    
    >0
  • Re: Contare record in una query escludendo determinati campi

    Prima di tutto ti ringrazio per aver risposto così prontamente al mio appello anche se purtroppo non ho risolto ancora:
    nel primo caso, inserendo il criterio >0 sotto il campo somma di importi, andrei a perdere l'intero record (evidenziato in grassetto nell'esempio) cosa che io devo necessariamente evitare per conservare il valore 0.00 relativo alla somma degli importi di quelo specifico giorno (06/01/2001).
    QUERY

    DATA CONTAOPERAZIONI SOMMADIIMPORTI
    01/01/2001 2 20.00
    05/01/2001 2 30.00
    06/01/2001 1 0.00

    ... il secondo suggerimento invece non è proprio testabile perchè nella query ci sono solo tre campi: data, contaoperazioni, sommadiimporti.
  • Re: Contare record in una query escludendo determinati campi

    La prima che hai detto è ovvia, quindi non applicabile.
    La 2° ovviamente devi partire dalla Tabella, rifare la Query e devinire il CRITERIO nel Campo Importo.
  • Re: Contare record in una query escludendo determinati campi

    Ora sono davvero confuso,
    cosa intendi dire? dovrei giocare sulle regole di convalida della tabella?
    ...non riesco ad immaginare un'altro modo per creare una tabella con i soli campi ID, DATA, ed IMPORTO...
    possibile che non esista un modo per inserire dei parametri al conteggio dei record?
  • Re: Contare record in una query escludendo determinati campi

    pralex ha scritto:


    ora sono davvero confuso,
    cosa intendi dire? dovrei giocare sulle regole di convalida della tabella?
    ...non riesco ad immaginare un'altro modo per creare una tabella con i soli campi ID, DATA, ed IMPORTO...
    possibile che non esista un modo per inserire dei parametri al conteggio dei record?
    Non confonderti le idee, Alex sicuramente non intendeva ciò. Il discorso è sempre sulla linea d'onda delle query.

    Io ho capito che tu vuoi che venga visualizzato comunque il record relativo al valore "0,00", ma anzichè segnalare un Conteggio coerente, vuoi che venga visualizzato 0.
    Io propongo quest'altra possibilità. Nella query, all'intestazione campo CONTAOPERAZIONI, scrivi questo:
    CONTAOPERAZIONI: IIf([SOMMADIIMPORTI]>0,00;[CONTAOPERAZIONI];0)
  • Re: Contare record in una query escludendo determinati campi

    Hehehe alex, sicuramente mi hai sopravalutato; comunque grazie ad entrambi ho risolto il mio "problema" prendendo spunto dai suggerimenti di tutti e due creando un nuovo campo nella query utilizzando la funzione if per correggere i risultati del campo "contaoperazioni"
    grazie!!! (mi ero perso in un bicchier d'acqua)
Devi accedere o registrarti per scrivere nel forum
6 risposte