Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2003
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Ordernar a acentos y eñes (tablas dbase)

Hola:

Este es un tema a menudo tratado en el foro, sin embargo, no he podido encontrar una solución para tablas dBASE.

Ejemplo:

Código:
Select Nombre form Tabla Order by Nombre
¿Cómo hacer para que los acentos y las eñes se ordenen correctamente?.
Responder Con Cita
  #2  
Antiguo 17-11-2003
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Hola:

He encontrado una solución, que si bien no es la más elegante, podría servir para resolver este tipo de problema en cualquier tipo de tablas (sólo lo he probado con una tabla DBASE), sin rompernos demasiado la cabeza.

La librería RX tiene un componente que actúa como una tabla en memoria (TRXMemoryData). Pues bien, el truco está en una vez realizada la consulta SQL, volcar el resultado al TRXMemoryData, y decirle que campo queremos ordenar. En este componente los acentos se ordenan correctamente.

Código:
  Query.Add('Select Nombre from tabla') // No es necesario Order by
  RxMemoryData.Open;
  RxMemoryData.LoadFromDataSet(Query1,0,lmCopy);
  RxMemoryData.SortOnFields('Nombre');
TRxMemoryDAta no necesita utilizar el BDE ni la DLL DBClient. Además, actúa como un TDataSet y puede conectarse a componentes data-aware.

Un abrazo.

Última edición por Jose_Pérez fecha: 22-05-2008 a las 13:30:13.
Responder Con Cita
  #3  
Antiguo 17-11-2003
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Me faltó abrir el Query.

El código quedaría así:

Código:
  Query.Add('Select Nombre from tabla') // No es necesario Order by
  Query.Open;
  RxMemoryData.Open;
  RxMemoryData.LoadFromDataSet(Query1,0,lmCopy);
  RxMemoryData.SortOnFields('Nombre');

Última edición por Jose_Pérez fecha: 22-05-2008 a las 13:30:28.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:07:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi