Newsgroup: it.comp.appl.access
Titolo: Ordinamento di date concatenate

In una query ho creato un campo [DATA] e vi ho concatenato due campi
[data1] & [data2].
Ora vorrei ordinare il nuovo campo in maniera crescente.
Come posso fare?
Grazie

 wrote in message 
news:8f8c55ad-95e9-4556...@n3g2000yqb.googlegroups.com...

Dalla griglia QBE attiva il SORT (ASC | DESC) per quel campo.
O tu le query le fai a mano?
Bruno
 


Per i campi data1 data2. Se li ha concatenati il campo viene trattato 
testo ed a meno che non abbia esposto le date come aaaa/mm/gg 
l'ordinamento fallisce.
--
ac

 ac
...e no, le mie date sono come Tipo di dati= Data/Ora, in formato Data
in cifre.
Se lo cambio perdo i dati.

 wrote in
news:6b48240e-6e2b-45df...@x12g2000yqj.googlegroups.com
: 

se concateni due date, la vedo dura che il risultato sia una data...
anche perche' la concatenazione funziona sulle stringhe e se fatta tra 
due oggetti non stringa, di solito comporta una conversione implicita.
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 - Mostra testo citato -
Boh...allora mi sono spiegato male:
io ho i due campi data1 e data2 e nella query ho inserito un campo
nuovo con :
DATA: [data1]&[data2]
impostando data1 e data2 non visibili, mentre ovviamente visibile
DATA.
Quindi il campo DATA mi visualizza sia le date di 1 e 2, ma vorrei
averli in ordine crescente.
Quindi non è possibile?
grazie ancora.

 grazie ancora.
E dalli! L'ordinamento lo devi fare sui campi originali:
.....order by data1, data2
poiché quelli sono campi di tipo data/ora mentre quello che deriva dalla 
concatenazione e' di tipo testo e quindi ordinabile secondo le regole 
per questo tipo (a-z>A-Z>0-9).

 
non e' chiaro cosa vuoi ottenere...


 wrote:

Chiedo scusa se non riesco a spiegarmi, comunque cerchero' di rifarlo
con l'esempio concreto:
            data1                    data2
Id01    09/08/2009
Id02                               01/08/2009
Id03     22/08/2009
Id04                                15/08/2009
Il campo data1 è ordinato in ordine crescente così come il campo data2
è ordinato in ordine crescente;
Il mio campo concatenato [Data_unica]=[data1]&[data2] vorrei fosse
così:
               Data_unica
Id02         01/08/2009
Id01         09/08/2009
Id04         15/08/2009
Id03         22/08/2009
Capisco che il campo ottenuto [Data_unica] non è di tipo data ma di
tipo  testo, ma non c'è quindi soluzione per ordinarlo?
Grazie ancora.

 Grazie ancora.
Dall'esempio fatto devi solo ordinare in ordine crescente il campo data2.
Ti passo la select:
SELECT Tabella1.Data1, Tabella1.Data2, [Data1] & " " & [Data2] AS UnioneD
FROM Tabella1
ORDER BY Tabella1.Data2;
--
sv 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 - Show quoted text -
No, non basta. Se ordino solo il camp data2 viene fuori questo:
            data_unica
Id01     09/08/2009
Id03     22/08/2009
Id02     01/08/2009
Id04     15/08/2009

 - Show quoted text -
Anzi, scusa....ora è ordinato correttamente, ma mi visualizza tutti
gli id, anche quelli vuoti.
Posso evitare di visualizzarle?
Grazie mille.

skate2k5 ha scritto:


Se ti riferisci al campo Data2 la select diventa:
SELECT Tabella1.Data1, Tabella1.Data2, [Data1] & " " & [Data2] AS UnioneD
FROM Tabella1
WHERE (((Tabella1.Data2) Is Not Null))
ORDER BY Tabella1.Data2;
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 - Mostra testo citato -
No, scusami...lo so che sto facendo casino, ma vorrei capire.
La query finale deve restituirmi l'elenco ordinato delle due date1 e
2.
Io uso "Is not null" per entrambi i campi e quindi mi restituisce
giustamente solo i campi in cui c'è un valore,ma resta il problema
dell'ordinamento che essendo il campo UnioneD un tipo testo (non
potendo essere altrimenti come dice prima Paolo opg) non me lo ordina,
quindi mi visualizza prima tutti i campi data1 in ordine e poi i campi
data2 in ordine.
Grazie

skate2k5 ha scritto:


Rileggendo meglio, ero stato ingannato dalla formattazione che la pagina
web ha dato al tuo post, mi sembra di capire che tu hai una tabella con
tre campi. Un campo Id e due campi Data. Inoltre sembra che se esiste il
valore nel campo Data1 il valore di Data2 è nullo e viceversa. Se è così
il campo unione risultante devi trasformarlo in un campo data con Cdate. A
questo punto lo ordini. 
Eccoti la select:
SELECT Tabella1.id, Tabella1.Data1, Tabella1.Data2, CDate([Data1] &
[Data2]) AS UnioneD
FROM Tabella1
ORDER BY CDate([Data1] & [Data2]);
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
