Newsgroup: it.comp.appl.access
Titolo: criteri per una query

Ciao a tutti.
Ho un DB in A97 per gestire dei prodotti chimici. La composizione di
questi prodotti può subire delle modifiche, ma il loro nome commerciale
rimane sempre lo stesso. La tab. è molto semplice:
Prodotti
[nome]
[composizione]
[aggiornamento]
Quando un prod. viene modificato, nel campo [aggiornamento] del vecchio
prod. metto 'V', in quello modificato scrivo '1' (primo aggiornamento).
Ovviamente ci sono prod. che nn subiscono aggiornamenti e quindi il
campo rimane vuoto. Se voglio visualizzare tutti i prod. tranne i
'Vecchi', imposto una query in cui il campo [aggiornamento]<>V.
Il problema sorge quando un prodotto viene ulteriormente aggiornato con
la 'versione' 2 o 3 ...
Come posso impostare la Q. in modo tale che estragga solo i record più
aggiornati? Ad es. se c'è un prodotto che ha un solo agg. (versione 'V'
e '1') deve estrarre quello della versione '1'; se il prodotto ha subito
2 modifiche (versione 'V', '1' e '2'), deve invece estrarre il record
con il campo [aggiornamento]=2.
Spero di essere stato chiaro.
Grazie a tutti. Giancarlo Francesconi.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:9def616d02da855684...@mygate.mailgate.org...

Io ho aggiunto la data per un problema simile, poi ho fatto MAX ( Data) in
SQL ( ops scusa io parlo un gergo tutto mio per SQL intendo in query , poi
se vuoi farla direttamente in SQL lo decidi tu ), certo che quel V a vederlo
è proprio brutto. Null è ancora più brutto da gestire.
Te lo dico perchè ci sono già passato con un problema simile per le schede
di sicurezza che avevano un numero di revisione e la data: c'ho messo due
settimane per arrivare alla conclusione che a me del numero di rev. non me
ne fregava nulla visto che ( secondo logica ) la rev2 è sicuramente
antecedente alla rev. 3: insomma non si può usare il num. di agg.come
discriminante di una ricerca se può assumere così tanti valori diversi tra
di loro , ti incasini per nulla. Se ci tieni a vederlo nessuno ti impedisce
poi di metterlo nella query, basta che non ci lavori sopra. La data poi
torna utile in caso di relazioni ( inteso in senso lato ) con altre cose (
per esempio se sono prodotti chimici (e siamo già più sul mio campo)
potresti aver bisogno di sapere se per tal tipo di prodotto esiste una
scheda di sicurezza aggiornata e puoi farlo, secondo me, solo confrontando
le date)
Ugh ho detto ( la mia, una volta tanto che l'ho già fatta sta' cosa )
Chiedo lumi ( ma potrei andare sulla guida in linea ) vengono prima i numeri
o le lettere ( maiuscole o minuscole )?
Ciao. Fabrizio.
p.s. se ho scritto cagate ditemelo con un msg in codice tipo "Fabrizio,
torna a lavurà che sei indietro"

 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Prova con questa query:
SELECT TOP 2 Tabella1.a FROM Tabella1 ORDER BY Tabella1.a DESC;
omnitow

cut
Devo aggiungere una cosa: per esperienza so che certe aziende chimiche (
soprattutto quelle certificate ) hanno la mania di scrivere i documenti
inventandosi di sana pianta un tipo di classificazione: per es. di una
formula originale dicono che č la versione 1 e delle sue modifiche che sono
la revisone , che senso ha la cosa ? Aiutatevi, fatevi un favore , chiamate
la versione 1 revisione 0 , anche perchč ( a meno che non siate pazzi ) non
esiste una versione 2 ( fidatevi che poi alla fine non esiste ).
Semplificate maledizione a voi, quanto volete farla complicata una
classificazione , ma soprattutto a che vi serve avere un documento su un
preparato del tipo : "prodotto pinco pallo" vers. 2, rev3, data #dd/mmm/aa#,
rv( rivisto, vi giuro che esiste cosě come l'ho scritto io )) il giorno tal
dei tali.
Non siate pazzi, semplificate.
Ugh ho detto.
Ciao. Fabrizio.

 omnitow
Non l'ho capita, esattamente cosa dovrebbe fare?, restituire i prime due
valori su che base?.
Ciao. Fabrizio.


Ti consiglio di sostituire la V con lo 0 in modo che puoi fare un
ordinamento per numero, poi fai una query di raggruppamento e estrai solo il
MAX del campo aggiornamento attenzione che deve essere numerico e non un
testo perche' altrimenti 10 e' minore di 2.
Prova e fammi sape'
saluti, Antonio.

"Antonio Ganci" <a.ganci@NO_SPAMMING_megattera.it> ha scritto nel messaggio
news:ak51c1$22s$1...@newsreader.mailgate.org...

Insisto, perchè è l'unico argomento del quale sono veramente ferrato:
Giancarlo inserice dopo a mano ( su un campo prima vuoto ) la V, mettendoci
uno zero di sicuro risolve il problema ( e velocemente), ma per me non ha
senso. Una formulazione deve essere unicovamente ( lasciamo stare
l'ortografia ) identificata e da lì in poi deve essere lasciata stare,
altrimenti tocca de rifà tutti i riferimenti alla sua documentazione, che
poi lui sia interessato solo al numero di versione non è un delitto ( è
fattibilissimo ), ma prima o poi gli'è ritorna indietro.
Se lo so lo so.
Ugh ho detto e vado a magna'
Ciao. Fabrizio.

 Ciao. Fabrizio.
Se vuole usare la V esiste una soluzione altrettanto veloce:
clng(iif([aggiornamento] = "V"; 0; [aggiornamento]))
Inserendo questo nella query e prendendolo come MAX.
Il mio era solo un consiglio per evitare ste complicazioni secondo me
inutili ai posteri l'ardua sentenza.
Ciao, Fabrizio.
P.S.: Non ho capito qual'e' l'argomento su cui sei veramente ferrato i
numeri di versione?


restituisce i primi due valori del campo [a] in base all'ordinamento
impostato, ho dimenticato una cosa, essendo il campo a testo immagino il
formato dei numeri di revisione dovrà essere 00N per evitare, come dice
antonio, di considerare 10 minore di 2 oppure sostituire la V con 0
Scusami ma non riesco a capire il xchè del campo Data dato che anche la
revisione 3 è sicuramente precedente la 4, semmai la data è un dato
aggiuntivo, concordo comunque nell'identificare l'ultima revisione
differentemente dalle altre in modo di saper con esattezza se il documento
che si ha in mano sia l'ultima oppure una vecchia versione
omnitow

 omnitow
Perchè l'esperienza insegna che i numeri di revisione l'infilano i
ragionieri o peggio i chimici stessi, vuoi che ti dica quante revisione 2 ho
di una certa scheda compilata in date diverse?. E' inutile perderci la testa
tuttalpiù che serve sapere qual'è la più recente e allora è meglio la data e
magari poi il numero di revisione ( che tanto ci si fanno le seghe poi i
ragionieri).
Ugh ho detto.
Ciao.Fabrizio.

 numeri di versione?
Il rincoglionimento è il mio campo, ma non il mio ( non c'è più nulla da
fare ), ma quello di chi pensa a crearsi una classificazione della
documentazione senza criterio e poi ti chiede di farci su un bel  ( l'ho
scrivo per intero ) database: SU DATI VECCHI DI CINQUE (5) ANNI CON UN
DIVERSO TIPO DI CLASSIFICAZIONE PER ANNO , e sai come ho risolto il tutto:
con le date . A me è toccato perchè tengo famiglia ( e ormai conosco la
materia trattata ( il mio lavoro)), ma vi voglio vedere a voi a metterci le
mani.
Tra l'altro fai conto che uno stesso prodotto a nomi ( e codici) diversi a
secondo se la cosa passa per la logistica, la qualità, la produzione.....
che lavoro di merda che faccio.
E ne avrei ancora da dire, ma questo sarà argomento di un libro che sto
scrivendo ( ho già venduto i diritti, mi spiace ragazzi è un contratto di
ferro quello che mi lega ).
Ciao. Fabrizio