MS Access 2003 - ordenando os valores da string para uma caixa de listagem não alfabética
-
23-09-2019 - |
Pergunta
Aqui está uma pergunta boba. Digamos que eu tenha uma consulta que produz para uma caixa de listagem e produz valores para três lojas
Store A 18
Store B 32
Store C 54
Agora, se eu pedir na declaração SQL, a única coisa que fará é descer ou ascender alfabética, mas eu quero uma certa ordem (apenas porque eles querem uma certa ordem) ... então existe uma maneira de adicionar algo para o SQL para obter
Store B
Store C
Store A
ou seja, basicamente remar por linha o que eu quero. obrigado!
Solução
Adicione um campo numérico, Sequenciador, para a tabela que contém os nomes da loja. Use o Sequenciador valores para determinar sua ordem de classificação.
SELECT sequencer, store_name FROM YourTable ORDER BY sequencer;
Na caixa de listagem, defina a largura da coluna = 0 para o Sequenciador coluna.
Ou simplesmente, como @dscarr sugeriu, não inclua Sequenciador no SELECT
lista de campo, mas apenas inclua -a no ORDER BY
...
SELECT store_name FROM YourTable ORDER BY sequencer;
Outras dicas
Você pode fazer 1 de 2 coisas.
Use a TROCAR Stames, algo como
SELECT Table1.Store,
Table1.Val,
Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3) AS Expr1
FROM Table1
ORDER BY Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3);
Ou use uma tabela de pedidos secundários, que armazena os valores dos nomes da loja e um pedido por valor.