Problema Con Consulta Sqlite Con La Letra ñ[Resuelto]


Subject: Problema Con Consulta Sqlite Con La Letra ñ[Resuelto]
letras

para darle comodidad y velocidad al usuario se me ocurrio poner una abecedario y al hacer un clic sobre una letra mostrar todos los nombres que empiecen con esa letra con la siguiente sql....

sql = Subst("Select * from DatosPersonas where nombrePer like '&1%' order by nombrePer asc", Letra)


ahora bien el problema surge con la letra ñ
si pongo letra ñ minúscula no muestra la Ñ mayúsculas y viceversa

como puedo resolver esto?

Last edited by v3ctor on Tuesday, 20 September 2016, 13:47; edited 1 time in total
Subject: Re: Problema Con Consulta Sqlite Con La Letra ñ
bueno también se da el problema con las bocales con tilde

Subject: Re: Problema Con Consulta Sqlite Con La Letra ñ
Se me ocurre a «botepronto» añadir una condición «O» de búsqueda, realizando en el primer argumento LCASE y en el segundo UCASE. Ahora mismo no puedo, pero esta tarde intento escribir el código. Algo así como:

Código: [Descargar] [Ocultar]
  1. LetraMay=ucase(Letra)
  2. LetraMin=lcase(Letra)
  3. sql = Subst("Select * from DatosPersonas where nombrePer like '&1%' or nombrePer like '&2%' order by nombrePer asc", LetraMay, LetraMin)
  4.  


Es que no tengo claro si las vocales tildadas y la ñ deben emplearse con la clase STRING o directamente con lcase o ucase.

Last edited by Grandamakulo on Tuesday, 20 September 2016, 08:41; edited 2 times in total
Subject: Re: Problema Con Consulta Sqlite Con La Letra ñ
Grandamakulo escribió: [Ver mensaje]
Se me ocurre a «botepronto» añadir una condición «O» de búsqueda, realizando en el primer argumento LCASE y en el segundo UCASE. Ahora mismo no puedo, pero esta tarde intento escribir el código. Algo así como:

Código: [Descargar] [Ocultar]
  1. LetraMay=ucase(Letra)
  2. LetraMin=lcase(Letra)
  3. sql = Subst("Select * from DatosPersonas where nombrePer like '&1%' or nombrePer like '&2%' order by nombrePer asc", LetraMay, LetraMin)
  4.  


Es que no tengo claro si las vocales tildadas y la ñ deben emplearse con la clase STRING o directamente con lcase o ucase.


bueno lo de la ñ quedo resuelto.


LetraMin = String.LCase(Letra)
esto funciona

LetraMin=lcase(Letra)
esto no funciona.

ahora paso a tratar los tildes, es decir cuando a clic en la A... deben aparecer

A
a
á
Á

saludos y gracias, cuando tenga novedades las escribo.

Subject: Re: Problema Con Consulta Sqlite Con La Letra ñ
muchas gracias por tu ayuda Grandamakulo

tema resuelto, dejo rutina para ejemplo....

Public Sub FiltrarPersonasPorLetra(Letra As String) As Result
Dim r As Result
Dim sql, sql2, LetraMay, LetraMin, TildeMin, TildeMay As String
Dim sqlLarga As Boolean

LetraMay = UCase(Letra)
LetraMin = String.LCase(Letra)

Select Case Letra
Case "A"
TildeMin = "á"
TildeMay = "Á"
sqlLarga = True
Case "E"
TildeMin = "é"
TildeMay = "É"
sqlLarga = True
Case "I"
TildeMin = "í"
TildeMay = "Í"
sqlLarga = True
Case "O"
TildeMin = "ó"
TildeMay = "Ó"
sqlLarga = True
Case "U"
TildeMin = "ú"
TildeMay = "Ú"
sqlLarga = True
Case Else

End Select

If sqlLarga Then
sql2 = "nombrePer like '&1%' or nombrePer like '&2%' or nombrePer like '&3%' or nombrePer like '&4%' order by nombrePer asc"
sql = Subst("Select * from DatosPersonas where " & sql2, LetraMay, LetraMin, TildeMin, TildeMay)
Else
sql = Subst("Select * from DatosPersonas where nombrePer like '&1%' or nombrePer like '&2%' order by nombrePer asc", LetraMay, LetraMin)
Endif

r = fPersonas.CX_personas.Coneccion.Exec(sql)

Return r

End

Subject: Re: Problema Con Consulta Sqlite Con La Letra ñ[Resuelto]
Gracias V3ctor, por compartir la solución que has encontrado.


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1255s (PHP: -24% SQL: 124%)
SQL queries: 24 - Debug Off - GZIP Enabled