Newsgroup: it.comp.appl.access
Titolo: Come ordinare un campo in una tabella ??

salve.. avevo già postato un messaggio del genere..
ma la soluzione proposta (funzione Token) non
riesco ad applicarla... certamente non ne sono capace..
quindi se possibile mi servirebbe una soluzione
+ semplice oppure alla mia portata... se possibile...
in sostanza in una tabella chiamata Anagrafe
con un campo N_Protocollo
scritto in questa maniera...
23/2002/M234 etc...
il primo numero è variabile
il secondo è l'anno in corso
il terzo è anche esso variabile ma è preceduto da una lettera
alfabetica...
ebbene a me servirebbe mettere in ordine crescente
il terzo numero... che mi suggerite ???
--
SuperPippo®   [;o))

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:QdEO8.18012$j65.4...@twister1.libero.it...

Prova ad effettuare l'ordinamento con una query che abbia il seguente codice
SQL:
SELECT Anagrafe.*
FROM Anagrafe
ORDER BY
Mid(Mid([N_Protocollo],InStr([N_Protocollo],"/")+1),InStr(Mid([N_Protocollo]
,InStr([N_Protocollo],"/")+1),"/")+1,1),
Val(Mid(Mid(Mid([N_Protocollo],InStr([N_Protocollo],"/")+1),InStr(Mid([N_Pro
tocollo],InStr([N_Protocollo],"/")+1),"/")+1),2));
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 tocollo],InStr([N_Protocollo],"/")+1),"/")+1),2));
---------------------
ho provato...incollandola così com'è mi dava l'immissione di un valore
parametro N_pro.. ed inserendo un asterisco dice che
"espressione non digitata correttamente oppure troppo complessa per essere
valutata etc "
allora ho pensato al codice spezzato...ho ricongiunto tutto tanto da far
iniziare
Mid a finire con ...1),
e Val a finire con 2));
a questo punto mi dice .. "tipi di dati non corrispondenti nell'espressione
criterio"...
dove sbaglio ???
Cmq grazie Roberto x l'aiuto...

 il terzo numero... che mi suggerite ???
Dipende un po dalla versione di Access che non hai rivelato.
In AX non è piu molto complicato. Puoi crearti un nuovo campo
in una query e ordinare con questo campo:
Mid(N_Protocollo;InStrRev(N_Protocollo; "/")+1)
--
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 Mid(N_Protocollo;InStrRev(N_Protocollo; "/")+1)
--------------->
Ciao Karl...intanto grazie x l'aiuto
il DB in questione è usato con A97
ho provato la tua soluzione in una
query ma mi da 'errore di funzione "InStrRev"
non definita nell'espressione'....
forse sbaglio ad inserire il codice ???
ti allego Sql della Qry... Ciao....
-----------------------------------------
SELECT Anagrafe.N_Protocollo, Anagrafe.N_Protocollo
FROM Anagrafe
WHERE
(((Anagrafe.N_Protocollo)=Mid("N_Protocollo",InStrRev("N_Protocollo","/")+1)
));
------------------------------------------
Giuseppe

 non definita nell'espressione'....
AX = Access 2002
In A97 InStrRev non esiste ancora e hai bisogno di un' espressione
più complicato p.e. questo che ti ha scritto Roberto.


"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:AZHO8.18976$Kt3.4...@twister2.libero.it...

Prova afare il copia ed incolla di questo:
SELECT Anagrafe.*
FROM Anagrafe
ORDER BY Mid(Mid([N_Protocollo],InStr([N_Protocollo],"/")+1),
InStr(Mid([N_Protocollo],InStr([N_Protocollo],"/")+1),"/")+1,1),
Val(Mid(Mid(Mid([N_Protocollo],InStr([N_Protocollo],"/")+1),
InStr(Mid([N_Protocollo],InStr([N_Protocollo],"/")+1),"/")+1),2));
Io ho provato con Access 97 e non mi ha dato alcun errore.


 Roberto
------------------------>
Grazie Roberto... in effetti questo funziona perfettamente...ma ti pregherei
di suggerirmi come fare affinche possa fare 1 cose...
in modalità struttura non mi fa vedere tutti i campi in maniera da escludere
quelli che non mi servono per la stampa... ma tutto il contenuto della
Tabella Anagrafe....
oppure devo agire manualmente nella query facendo Nascondi Colonna ???
Grazie... Roberto...

 Grazie... Roberto...
Hai due possibilità:
1) Lasciare la query così come è (con tutti i campi della tabella Anagrafe)
ed usare con i controlli del report solo i campi che ti servono.
2) Apri la griglia di struttura della query: cancella la colonna Anagrafe.*
e poi crea delle nuove colonne trascinando nella griglia i campi che ti
servono.
Decidi tu.


 Roberto
---------------------
grazie Roby... nel frattempo avevo già sperimentato la prima soluzione...
mi sembra la migliore...
ti ringrazio ancora...Ciao...
Giuseppe

 SuperPippo®   [;o))
Come mai non riesci ad applicarla?
Ciao.
--
Sergio MAZZA