ORDENACAO

USUARIO.EXCLUIDOS 04/06/2005 01:32:59
#86944
Boa noite galera, to com um problemão, eu preciso ordenar uma tabela num flex grid, o campo que se chama codigo, é string, pode entrar tanto numero e letras, ou misturados.acontece o seguinte, quando eu ordeno fica assim

codigo
10
20
200
30
300
301
40

o numero 200 , 300, etc, fica desordenado...como poderia resolver esse problema?
segue o sql pra analise.

SQL = " SELECT * FROM PRODUTO "
SQL = SQL & " WHERE INSCRICAO = '" & FrmCadProdutos.mskInscricao.Text & "'"
SQL = SQL & " AND EXERCICIO = '" & FrmCadProdutos.txtExercicio.Text & "'"
SQL = SQL & " AND NATUREZA = '1'"
SQL = SQL & " ORDER BY CODIGO"

abraços
USUARIO.EXCLUIDOS 04/06/2005 12:13:59
#86983
Você pode fazer uma só Instrução SQL para todas essas aí... me passa os formatos dos campos pra mim que eu faço para você
WEBMASTER 04/06/2005 12:34:47
#86987
flexgrid.sort = 1
WEBMASTER 04/06/2005 12:35:36
#86988
Antes você tem que fazer o :


flexgrid.col = 3
flexgrid.sort = 1


Coluna 3 vai ser ordenada
USUARIO.EXCLUIDOS 04/06/2005 12:40:57
#86989
Eu fiz assim tbm

SQL = "select * from tabteste where inscricao='" & inscricao & "'" & "And exercicio='" & exercicio & "'" & "And natureza=1" & " order by codigo"

E organizou igualzinho o SQL do Wagner, se ele colocar o campo código do banco de dados como númerico da certo... senão ele não ordena...
LCSD 04/06/2005 13:20:46
#86990
Resposta escolhida
Wagner.Mesquita

Bom Dia

Você poderia converter direto na String do RecordSet, veja o exemplo abaixo:

CodigoCliente	CodigoString	NomeCliente
1 1 Cliente 1
2 101 Cliente 2
3 5 Cliente 3
4 102 Cliente 4
5 11 Cliente 5


Dados originais ordenados pelo campo CodigoCliente e abaixo após a instrução SQL:

SELECT * FROM Clientes order by Cint(CodigoSTring);

CodigoCliente	CodigoString	NomeCliente
1 1 Cliente 1
3 5 Cliente 3
5 11 Cliente 5
2 101 Cliente 2
4 102 Cliente 4


Veja que estou levando em conta que seriam números.

Até Breve
[s92]
Tópico encerrado , respostas não são mais permitidas