Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Problema Con Consulta Sqlite Con La Letra ñ[Resuelto]

Problema Con Consulta Sqlite Con La Letra ñ[Resuelto]
Artículo
Responder citando    Descargar mensaje  
Mensaje 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?



 
última edición por v3ctor el Martes, 20 Septiembre 2016, 13:47; editado 1 vez 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Lunes, 19 Septiembre 2016, 22:58 ]
 


Problema Con Consulta Sqlite Con La Letra ñ[Resuelto]
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con Consulta Sqlite Con La Letra ñ 
 
bueno también se da el problema con las bocales con tilde  



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Lunes, 19 Septiembre 2016, 23:41 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
última edición por Grandamakulo el Martes, 20 Septiembre 2016, 08:41; editado 2 veces 
Grandamakulo - Ver perfil del usuario Enviar mensaje privado  
Grandamakulo [ Martes, 20 Septiembre 2016, 08:38 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Martes, 20 Septiembre 2016, 13:25 ]
Responder citando    Descargar mensaje  
Mensaje 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




 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Martes, 20 Septiembre 2016, 13:46 ]
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con Consulta Sqlite Con La Letra ñ[Resuelto] 
 
Gracias V3ctor, por compartir la solución que has encontrado.



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Martes, 20 Septiembre 2016, 19:03 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron