Ordinare contenuto celle

martedì 10 giugno 2008 - 11.43

albodm Profilo | Newbie

Salve, sono nuovo del forum.
Ho un problema con una tabella di access devo ordinare il contenuto di una cella
per es. A1, C2, B3, A2 deve diventare A1, A2, B3, C2

alx_81 Profilo | Guru

>Salve, sono nuovo del forum.
Ciao e benvenuto su DotNetHell!

>Ho un problema con una tabella di access devo ordinare il contenuto
>di una cella. per es. A1, C2, B3, A2 deve diventare A1, A2, B3, C2
Devi scrivere la query ordinando per quella colonna, ad esempio, impotizza che la tua colonna si chiami "campo1" e che la tabella sia "tabella1":

SELECT campo1, campo2, campo3 FROM tabella1 ORDER BY campo1

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

albodm Profilo | Newbie

non mi sono spiegato bene... i valori A1, C1, etc. sono all'interno della stessa cella
non devo ordinare le celle, ma i valori in essa contenuti
come se fosse uno stradario:

NOME VIA QUADRANTE
Via Roma A1, C2, A2, B3

dovrà diventare:

NOME VIA QUADRANTE
Via Roma A1, A2, B3, C2

dove i nomi dei quadranti sono contenuti nella stessa cella e non riesco a ordinarli in nessun modo.

alx_81 Profilo | Guru

>non mi sono spiegato bene... i valori A1, C1, etc. sono all'interno
>della stessa cella
>non devo ordinare le celle, ma i valori in essa contenuti
>come se fosse uno stradario:
Allora devo avvertirti che hai violato la prima forma normale dei database, riassunta da questa frase:

"Si dice che una base dati è in 1NF (prima forma normale) se vale la seguente relazione per ogni relazione contenuta nella base dati: una relazione è in 1NF se e solo se
a) non presenta gruppi di attributi che si ripetono (ossia ciascun attributo è definito su un dominio con valori atomici)
b) esiste una chiave primaria (ossia esiste un insieme di attributi, che identifica in modo univoco ogni tupla della relazione)"

come vedi, il punto a) non è per nulla rispettato.
Detto questo, l'unica soluzione che vedo è quella di splittare i valori in base al carattere ","e poi ordinarli tu da codice..

Se riesci, metti in verticale quelle informazioni, e rispetta sempre le forme normali, almeno le prime 3
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

albodm Profilo | Newbie

il problema è questo:
da un file grafico sono riuscito ad estrarre la posizione di una via per ogni riquadro in cui ricade
dopo di che costruisco questa tabella in questo formato:
NOME VIA QUADRANTE
Via Roma A1
Via Roma C2
Via Roma A2
Via Roma B3
Via Roma C1

Bene tutto a posto...... invece NO!!!!!
Questo committente vuole la tabella così:

NOME VIA QUADRANTE
Via Roma A1, A2, B3, C1, C2

Trovo sul forum qualcuno con lo stesso problema e difatti con un modulo VBA riesco a concatenare i nomi dei quadranti purtroppo però questa funzione li accorpa nel ordine in cui vengono letti e non riesco ad ordinarli in ordine alfabetico

alx_81 Profilo | Guru

>Bene tutto a posto...... invece NO!!!!!
>Questo committente vuole la tabella così:
>
>NOME VIA QUADRANTE
>Via Roma A1, A2, B3, C1, C2
Basta che il modulo VBA che concatena, ordini per QUADRANTE in ordine crescente lato SQL, di modo che, quando legge, concateni nell'ordine corretto..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

albodm Profilo | Newbie

ci sono riuscito... ho modificato le impostazioni del VBA e adesso riesco a filtrare i quadranti doppi e ad ordinarli
grazie mille ciao
Alberto
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5