[access 2007] escludere una voce dal conteggio

martedì 13 novembre 2012 - 11.09

ello82 Profilo | Newbie

ciao a tutti! avrei un problema piuttosto banale ma non riesco a risolvere... ho una tabella "ordini" con diverse colonne che rappresentano nomi di città (milano, venezia, londra) in ogni tabella sono riportati degli ordini fatti verso queste città (A, B, C). ho creato un report in cui sono rappresentati tutti gli ordini fatti nelle diverse città. quello che volgio fare è conteggiarli. uso l'espressione =conteggio (*) ma mi recupera anche gli spazi vuoti, allora scrivo =conteggio ([milano]) e in effetti mi esclude i valori null, ora però voglio che mi faccia il conteggio senza l'ordine A. quindi che mi sommi solo B e C (senza i null) come faccio? ho provato con =conteggio ([milano] NOT "A") ma mi da errore dicendo che ho inserito un operatore non valido... cosa dovrei scrivere?

Grazie a tutti!

HolidaySoft.it Profilo | Junior Member

SELECT CITTA, COUNT(*) FROM ORDINI
WHERE COD_ORDINE NOT IN ('A')
GROUP BY CITTA

Può andar bene??
A quick solution is a shortcut to troubleshooting
http://www.HolidaySoft.it
http://www.GarganoSapori.it
http://www.osteriaoristorante.it

ello82 Profilo | Newbie

provo subito ma metto questo codice come macro nella casella di testa del report?

HolidaySoft.it Profilo | Junior Member

No, questo è il codice della "query" a cui deve puntare il report
A quick solution is a shortcut to troubleshooting
http://www.HolidaySoft.it
http://www.GarganoSapori.it
http://www.osteriaoristorante.it

ello82 Profilo | Newbie

no nula... tuttavia ho provato a fare una query con il codice che mi hai fornito e funziona bene tuttavia recupera anche i valolri vuoti (o null) quindi poi il totale viene sbagliato. ad ogni modo cerco solo l'espressione da usare in un report quindi che parte con =. non so se la programmazione SQL possa essere implemntata in un report... ah altra cosa, ho provato a fare diverse query con già i totali divise per città. quindi query milano e il conteggio, query londra e conteggio e così via. le cose funzionano tuttavia non posso riportare i diversi valori in un unico report...

HolidaySoft.it Profilo | Junior Member

Prova a vedere nell'immagine:
- c'è la tabella
- c'è la query
- c'è il sql utilizzato (esclude anche i null o vuoti)


624x498 32Kb


Con la query sopra visualizzata è stato creato il report che vedi nell'immagine successiva:


765x503 73Kb


In allegato trovi un esempio

Ciao
Mik

A quick solution is a shortcut to troubleshooting
http://www.HolidaySoft.it
http://www.GarganoSapori.it
http://www.osteriaoristorante.it

ello82 Profilo | Newbie

ahh no no mi sono espresso male allora! non ho una colonna con città e sotto l'elenco ma diverse colonne ognuna con il nome della città come intestazione. forse per questo motivo che non funziona il comando che mi hai suggrito.

HolidaySoft.it Profilo | Junior Member

Ok, allora prova con la query

SELECT COD_CITTA, COUNT(*) AS COUNT_ORDINI
FROM
(
SELECT 'MILANO' AS COD_CITTA, MILANO AS COD_ORDINE FROM TB_ORDINI_V2
WHERE MILANO IS NOT NULL
UNION ALL
SELECT 'VENEZIA', VENEZIA FROM TB_ORDINI_V2
WHERE VENEZIA IS NOT NULL
UNION ALL
SELECT 'BOLOGNA', BOLOGNA FROM TB_ORDINI_V2
WHERE BOLOGNA IS NOT NULL
)
GROUP BY COD_CITTA;

partendo da una tabella simile a quanto indichi tu:


408x493 49Kb


Prova e facci sapere.

Ciao
Mik
A quick solution is a shortcut to troubleshooting
http://www.HolidaySoft.it
http://www.GarganoSapori.it
http://www.osteriaoristorante.it

ello82 Profilo | Newbie

si la tabella è proprio la stessa. tolgo semplicemente l'id perchè non mi serve ma rispecchia perfettamente il mio DB. piu tardi provo e ti faccio sapere! grazie!

HolidaySoft.it Profilo | Junior Member

Appena hai verificato puoi chiudere il post??

Grazie
Mik
A quick solution is a shortcut to troubleshooting
http://www.HolidaySoft.it
http://www.GarganoSapori.it
http://www.osteriaoristorante.it

ello82 Profilo | Newbie

si si domani mattina controllo! grazie ancora!

ello82 Profilo | Newbie

ciao! allora ho provato diverse soluzioni stamattina ma di fatto mi dice che c'è un operatore non trovato "... non capisco bene il problema ma ci sto ancora sbattendo la testa. il comando cod_citta è un comando che nonha legame con la tabella giusto? nel senso è un nome assegnato a cod posso mettere cod_mario che non cambia nulla? altra domanda, nella condizione FROM ( SELECT 'milano' ecc) se la città ha due nomi come new york scrivo come "new york" o "[new york]"? ultima domanda, ma in questo modo come faccio a selezionare tutto tranne "A" perchè non capisco come possa selezionare la voce da escludere...

HolidaySoft.it Profilo | Junior Member

>ciao! allora ho provato diverse soluzioni stamattina ma di fatto
>mi dice che c'è un operatore non trovato "... non capisco bene
>il problema ma ci sto ancora sbattendo la testa. il comando cod_citta
>è un comando che nonha legame con la tabella giusto? nel senso
>è un nome assegnato a cod posso mettere cod_mario che non cambia
>nulla?
Esatto, è solamente un ALIAS

>altra domanda, nella condizione FROM ( SELECT 'milano'
>ecc) se la città ha due nomi come new york scrivo come "new york"
>o "[new york]"?
'New York' fra apici non dovrebbe dare problemi

>ultima domanda, ma in questo modo come faccio
>a selezionare tutto tranne "A" perchè non capisco come possa
>selezionare la voce da escludere...
Utilizzi il filtro: WHERE COD_ORDINE NOT IN ('A')

SELECT COD_CITTA, COUNT(*) AS COUNT_ORDINI FROM ( SELECT 'MILANO' AS COD_CITTA, MILANO AS COD_ORDINE FROM TB_ORDINI_V2 WHERE MILANO IS NOT NULL UNION ALL SELECT 'VENEZIA', VENEZIA FROM TB_ORDINI_V2 WHERE VENEZIA IS NOT NULL UNION ALL SELECT 'BOLOGNA', BOLOGNA FROM TB_ORDINI_V2 WHERE BOLOGNA IS NOT NULL ) WHERE COD_ORDINE NOT IN ('A') GROUP BY COD_CITTA;
A quick solution is a shortcut to troubleshooting
http://www.HolidaySoft.it
http://www.GarganoSapori.it
http://www.osteriaoristorante.it

ello82 Profilo | Newbie

allora mi da sempre errore sulla stringa di comando e non mi localizza cosa non gli piace... tuttavia, ho risolto in questo modo =DCount("[milano]", "tuaTabellaotuaQuery", "[milano] <> 'A'") lo segnalo per tutti in modo da rendere questo 3rd utile per tutta la comunità del forum. con questa stringa scritta in una semplice casella di testo di report vengono conteggiati tutti i record a meno dei valori null (caselle vuote) e dei record con la voce "A". nel mio caso è utile per selezionare solo un tipo di prodotto.

Grazie a tutti per il supporto e il tempo che mi avete dedicato. detto questo si può chiudere la discussione come risolta.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5