Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Order By ...indesiderata

Porca miseria, non si è mai contenti! ;-)
Consento di selezionare dei codici articoli, ordinandoli come l'operatore
desidera.
Ottengo una stringa che contiene i vari codici, nell'ordine voluto e già
pronti per una sintassi SQL, per esempio: stringa_codici="'3','1','2'"
Poi, dovendoli elaborare in altra parte, faccio una "Select * From Articoli
Where Codice_Art In (" & stringa_codici & ")"
C'è mica modo (senza elaborare la stringa_codici pezzo per pezzo) di
ottenere il recordset conseguente con i codici nello stesso ordine di
quell'elenco sopra e non in ordine (implicito in quanto Codice_Art è un
campo chiave di un indice) di Codice_Art? Grazie.


IMHO, direttamente nella select no, però forse.....mumble mumble....aspetta
che provo una cosa...

 mumble....aspetta che provo una cosa...
Mai suggerire, eh? ... che intanto ci provavo anch'io ...

 campo chiave di un indice) di Codice_Art? Grazie.
Rispondo al volo senza capire molto la domanda (giornata pesante oggi):
Ti può bastare un "order by 1,2,3"?
<x:termoPilucco>

[*termoPilucco* = 
termop...@hotmail.com
 in
news:bo8lot$16rh8g$
1...@ID-188026.news.uni-berlin.de
] ha scritto:

Giornata di scherzi, oggi?
A parte che Order By vuole nomi di campi, io vorrei i codici nello stesso
ordine dell'elenco, quindi (nell'esempio fatto) 3, 1, 2


In effetti era il suggerimento di Termopilucco, ma non funge. Ho appena
provato e l'ordine rimane lo stesso

 A parte che Order By vuole nomi di campi,
no, va anche cosě (non da errori di sintassi), ma l'ordine rimane quello
dell'indice
ciaociao

 ordine dell'elenco, quindi (nell'esempio fatto) 3, 1, 2
Non vuole necessariamente nomi di campi...mettendo i numeri segue l'ordine
dei campi nella select...in pratica sorta per il 1 campo, 2 campo , 3 campo.
Puoi provare se la query non è pesante e se gli articoli non sono molti a
fare una union senza order by, ma vuol dire elaborare i campi della
stringa...
Saluti, Il Sora!!

 campo chiave di un indice) di Codice_Art? Grazie.
La soluzione c'è anche se non è proprio gratuita...in termini di
programmazione
Devi definire una nuova tabella nel tuo Database, chiamiamola di Layout.
questa tabella sarà così composta...
Codice
Riga
Ad ogni query la riempirai con i tuoi codici e ad ognuno assegnerai la riga
d'esposizione.
Ti basterà metterla in join con la tua tabella e ordinare per Riga per avere
il risultato atteso.
Saluti, Il Sora!!

 questa tabella sarà così composta...
Beh, allora faccio prima (senza disturbare la struttura del database) a
recuperare i records nell'ordine desiderato cercandoli uno per uno (e non
tutti insieme) direttamente dalla lista che rappresenta l'ordinamento
ideale...

 wrote in message
boa9t6$1btlsq$1...@ID-174464.news.uni-berlin.de...

Dipende da quanti record hai da ordinare .... :-))
Sicuramente con la tabella resta un codice più pulito. Non hai da fare
nessuna elaborazione particolare
Saluti, Il Sora!!

 nessuna elaborazione particolare
Dovendo recuperare gli articoli uno per uno, la stringa ne riporta i codici
(chiave di ricerca univoca) e sono già ordinati come voglio. Devo solo
scorrere la stringa e per ogni codice cercarlo nella sua tabella ed
elaborarlo. Capisci cosa intendo?

 wrote in message
boae8m$1c32kq$1...@ID-174464.news.uni-berlin.de...

Mi sembra di si.. :-))
Insert in un array in memoria delle costanti, apertura del Recordset,
inserimento del Recordset in Array (non necessario), quindi due array..uno
scorrimento sequenziale sul primo, ad ogni elemento un scorrimento
sequenziale sul secondo (o sul Recordset) fino a trovare l'elemento
desiderato... per non trovato dare una segnalazione; passare al
successivo..possiamo anche fare un Flow!
Nel mio caso...loop di insert su tabella, apertura del recordset,
scorrimento dello stesso già ordinato.
Mi sembra che la logica elaborativa sia un pelino più semplice , o sbaglio?!
Poi si sa che i metodi sono quasi infiniti....
Saluti, Il Sora!!

 sbaglio?!
Boh, non ti seguo.
Io ho la stringa dei codici, già con i separatori, metto il tutto in un
ciclo, recupero dalla stringa il codice corrente e lo cerco con una "Select
... Where", faccio quel che devo, ripeto per il codice seguente dalla
stringa. Mi sembra pulito e semplice...

campo chiave di un indice) di Codice_Art? Grazie.
 La tua no...poi possiamo discuterne per anni senza giungere ad una
conclusione...i metodi, continuo a ribadire, sono entrambe validi ma la tua
risposta non soddsfa la tua richiesta.
Saluti, Il Sora!!

 soddisfa la tua domanda iniziale che era questa:
Vero, ma, senza malafede pensavo che entrambi ci riferissimo "all'abbandono"
della singola query iniziale e ordinata. Scusami, davvero, non volevo
portarti a spasso ...

...

Se ti può essere d'aiuto...
SELECT Articoli.* FROM Articoli INNER JOIN 
SELECT COD, ORD 
FROM ( 
	SELECT 1 AS ORD, '3' AS COD 
	UNION 
	SELECT 2 AS ORD, '1' AS COD 
	UNOIN 
	SELECT 3 AS ORD, '2' AS COD 
) A 
ON Articoli.Codice_Art = A.COD 
ORDER BY A.ORD
Ciao

 wrote in message
boas3b$19uvdq$1...@ID-174464.news.uni-berlin.de...

Di nulla...per me è stato un piacere! visto che conosco pochissimo il VB mi
piace arrovellarmi almeno su questioni logico/sql :-))
Alla prossima
Saluti, Il Sora!!

 Ciao
Brau!
Saluti, Il Sora!!

 Brau!
Dici? ;-)

 wrote in message
bob2c6$1ctc92$1...@ID-174464.news.uni-berlin.de...

Da qui non apro Access... a parte Unoin al posto di Union, non so se sia
possibile in effetti fare una union senza specificare la clausola FROM. In
DB2 non č possibile
Da provare! :-))
Saluti, Il Sora!!