Ordinamento in una tabella

di il
7 risposte

Ordinamento in una tabella

Salve,
in una tabella ho una serie di dati che vorrei ordinare in modo crescente.
Tuttavia i dati sono di questo tipo:
S/NERO
S/VERDE
S/ADDITIVO
E/NERO
F/ROSSO
ecc.ecc.
Come posso fare per bypassare i due simboli iniziali?
Grazie per la risposta eventuale
Silene

7 Risposte

  • Re: Ordinamento in una tabella

    Ciao,

    Guardati la funzione MID credo possa fare al caso tuo...

    Su quelli che estrai con MID poi fai un ORDER BY
  • Re: Ordinamento in una tabella

    La soluzione proposta da Bomberdini forse funziona, ma occore che ti arrovelli seriamente su una espressione complessa e/o non del tutto immediata, tra l'altro temo che soltanto una query può farlo...non so... Io opterei per separare su 2 campi i valori che hai espresso, poi operi un semplice ordinamento sul secondo campo.
  • Re: Ordinamento in una tabella

    Intanto grazie per le risposte a Bomberdini e Laviosa,
    in effetti con il comando sulla query: select mid(nome campo,3)ottengo il risultato corretto.Tuttavia mi sono accorto che alcuni colori riportano, ad esempio, il seguente titolo.
    CHI/ACETATO ecc. ed è chiaro che in questo caso mi viene restituito I/ACETATO......
    Dovrei a questo punto poter considerare i caratteri solo dopo /.
    Ma che funzione usare? E' la proposta di Laviosa? E come?
    Grazie per l'attenzione
    Silene
  • Re: Ordinamento in una tabella

    La mia soluzione non gioca su formule e/o espressioni. Sarebbe molto più drastica. Crea un nuovo campo in tabella e metti la parte sinistra (o destra) di ogni valore. Poi cancelli la stessa dal campo originario...puoi farlo manualmente...per esperienza ho fatto prima così, intanto che provo a elaborare una utile espressione.

    prova a dare un'occhiata a questo link, non ci ho capito molto, ma sembra fare al caso tuo.
  • Re: Ordinamento in una tabella

    Salve Osvaldo,
    ho consultato il link ma non l'ho trovato di grande aiuto.
    Ho seguito poi la tua procedura dividendo i nomi su due campi ma poi sul report devo riunire le stringhe e qui le cose si complicano.
    Una prima parziale soluzione l'ho trovata allorchè nell'inserimento dei dati (apro a tale scopo la relativa tabella)aggiungo le seguenti righe di codice
    DoCmd.RunCommand acCmdSortAscending
    DoCmd.RunCommand acCmdApplyFilterSort
    per cui ad ogni sua apertura si ha il giusto ordinamento.
    Resta il problema delle sigle iniziali che risolvo.....in modo forse semplicistico ma efficace:
    tali sigle vanno inserite dopo il colore ( s/bianco diventa bianco/s ecc.)e ciò non crea, per chi inserisce, alcun problema.
    Dicevo soluzione parziale perchè nelle combo non appare l'ordine della tabella(faccio presente che questa è collegata alla tabella nel server)
    Come posso risolvere il problema visto che chi deve scegliere il colore lo fa facilmente se questo si presenta in modo ordinato?
    Grazie per i suggerimenti
    Silene
  • Re: Ordinamento in una tabella

    silene ha scritto:


    Ho seguito poi la tua procedura dividendo i nomi su due campi ma poi sul report devo riunire le stringhe e qui le cose si complicano
    Dal tipo di dati che inserisci, la mia soluzione mi sembra la più coerente, sempre nell'ottica di una logica Access generale.
    Unire 2 campi in uno per motivi estetici è già tutto molto più facile. Crea una casella di testo libera nel report e sfrutta la seguente sintassi:
    =[Campo1] & "/" & [Campo2]
  • Re: Ordinamento in una tabella

    Salve Osvaldo,
    penso di aver risolto l'ultimo ostacolo:
    nell'origine riga delle combo ho inserito il seguente codice
    SELECT [colori].[colore], [colori] FROM [colori] ORDER BY [colore];
    e così anche le combo sono sistemate.
    Ho intanto letto il tuo messaggio e il tuo consiglio è certamente più da logica access.
    Spero di riuscire a concretizzarlo .
    Questi scambi sono veramente utili e ti ringrazio.
    Silene
Devi accedere o registrarti per scrivere nel forum
7 risposte