Newsgroup: it.comp.appl.access
Titolo: Codice per query

Salve a tutti vorrei chiedervi, come posso creare quaesta query
Avendo in una tabella:
BolleDettaglio
contenente i campi:
codCliente, CodArt, Prezzo, Sconto
Vorrei fare una query che mi estragga tutti i record
dove:
stesso codice cliente
stesso codice articolo
ma prezzo netto diverso
Il prezzo netto per ora l'ho calcolato all'interno della query
con cui ho estratto i 4 campi. Il suo nome è <<espr1>>
Vi sarei molto grato se mi sapete dire quale codice
usare.
WS 

Se i dati da visualizzare cambiano a seconda della scelta dell'utente
puoi usare i parametri della query, scrivendo nel criterio di ogni
campo che devi filtrare [Immetti codice da visualizzare:]; così
l'utente ogni volta si filtra la tbl in base alle sue esigenze

l'utente ogni volta si filtra la tbl in base alle sue esigenze
No, quello che vorrei ottenere č semplicemente un elenco
di tutti i clienti che hanno acquistato lo stesso articolo
piů di una volta in un mese e il prezzo netto non č sempre uguale.
E' in pratica un semplice controllo per evitare che a un cliente
arrivi una fattura con lo stesso articolo ma prezzo diverso.
WS

 WS
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

>
codClente = numerico
codArt = testo
Prezzo netto = prezzo scontato
WS 

 ha scritto nel messaggio
news:606_e.41898$TR5....@news.edisontel.com...

Scusami tutte quelle domande, erano sicuramente superflue: se la tabella che
contiene i dati si chiama Tabella1, otterrai la lista dei record che abbiano
uguaglianza nei quattro campi da te indicati con una query che abbia il
seguente codice SQL:
SELECT DISTINCTROW Tabella1.codCliente, Tabella1.CodArt, Tabella1.Prezzo,
Tabella1.Sconto
FROM Tabella1
WHERE (((Tabella1.codCliente) In (SELECT [codCliente] FROM [Tabella1] As Tmp
GROUP BY [codCliente],[CodArt],[Prezzo],[Sconto] HAVING Count(*)>1  And
[CodArt] = [Tabella1].[CodArt] And [Prezzo] = [Tabella1].[Prezzo] And
[Sconto] = [Tabella1].[Sconto])))
ORDER BY Tabella1.codCliente, Tabella1.CodArt, Tabella1.Prezzo,
Tabella1.Sconto;
Non mi sono preoccupato di calcolarmi il "prezzo netto" in quanto sarà
uguale per quei record che hanno uguali Prezzo e Sconto.
Questa query puoi tranquillamente creartela con l'Autocomposizione ricerca
duplicati.



Ciao,
grazie prima di tutto per la cortesia,
ma molto probabilmente mi sono spiegato male io.
Quello che vorrei ottenere non č esattamente questo, ma
piů o meno il contrario. :)
In pratica non voglio i record con i campi uguali ma:
ESEMPIO:
Cliente    Articolo    Prezzo
11111    10                5
11111    10                5          questo cliente č OK
11111    10                5
11111    15                6
11111    15                6
11111    15                6
22222    15                10
22222    15                12        in questo cliente/articolo c'č un 
errore
22222    15                10
22222    30                4
22222    30                4        qui invece č ok
22222    30                4
il risultato dell'esempio dovrebbe essere:
22222    15                10
22222    15                12
22222    15                10
qui infatti mi accorgo che il cliente 22222 ha preso 3
volte lo stesso articolo, ma una volta lo ha pagato 12
invece di 10.
Questa query mi serve per fare un controllo dei prezzi prima della
fatturazione.
Grazie
WS

 Grazie
Prego.


 Roberto
Se poi preferisci usare le subquery al posto delle funzioni di aggregazione
sui dominii, puoi usare una query che abbia il seguente codice SQL:
SELECT Temp.*
FROM Tabella1 AS Temp
WHERE (SELECT Count(*) FROM Tabella1 WHERE (Tabella1.codCliente =
Temp.codCliente) AND (Tabella1.CodArt = Temp.CodArt) AND ((Tabella1.Prezzo *
(1 - Tabella1.Sconto)) <> (Temp.Prezzo * (1-Temp.Sconto)));) > 0;
Con questa soluzione oltre ad una maggiore performance ed una maggiore
trasportabilità del codice SQL hai anche il vantaggio che è del tutto
indifferente quale sia il tipo dati dei campi codCliente e CodArt.



La precedente sembra funzionare a meraviglia, anche se lenta,
ma questo non è assolutamente un problema. Devo riverificarla e
fare qualche altra simulazione ma al momento sembra vada più che bene.
La seconda non l'ho ancora provata. Ti saprò dire meglio domani
mattina. Adesso penso proprio che andrò verso casa, perchè m'è
venuto un capogatto che non ti dico.
Ancora grazie per la disponibilità.
WS 

 WS



Piů  che vero mal di testa, č quando sei stanco e ti viene una specie
di incapocciatura che non ce la fai piů a ragionare. :))
WS