Jump to content
Blackie

Ordenação por um Campo de Texto

Recommended Posts

Blackie

Boa tarde a todos,

Tenho uma pequena BD em Access 2003, em que tenho uma (entre outras) Tabela com um Campo Tipo Texto que não consigo ordenar como pretendia. Ou seja:

- os registos que vão sendo criados, aparecem na tabela como A-1, A-2, A-3, ... A-10, A11, ... A19, A20, A21, ... (até aí tudo bem), só que aparecem por uma ordem que

não era a que eu esperava, quero dizer, aparecem: A-1, A-10, A-11, A-12, ... A-2, A-21, ... A-29, A-3, A-31. ... etc. Ora, o que é pretendido é que apareçam A-1, A-2, A-3, ... A-20, A-21,

A-22, etc.

Já tentei várias formas mas não consigo ordenar como quero.

Alguém pode dar uma ajuda ou sugestão?

Obrigado,

Blackie

Share this post


Link to post
Share on other sites
progster

Bom dia.

E alteranto na tabela em questão para A01,A02,A03...A29?

Cumprimentos.


Não resolvo dúvidas por PM.

Share this post


Link to post
Share on other sites
FreiNando

Se Criares uma consulta, ou usares a tabela num formulário podes ordenar como queres sem alterar os campos.

Presumo que esse campo tem sempre uma letra e um hifen ("A-") e o número vem de seguida.

Então a consulta pode ficar assim:

SELECT * FROM TABELA ORDER BY LEFT(Campo,1),VAL(MID(Campo,3))

Onde a primeira ordem é pela letra e a segunda pelo numero (o texto tem de ser convertido para numero).


O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.