Mayuscula y minuscula

Estoy realizando un aplicación en access y programando en Visual Basic. Necesito hacer una búsqueda (select) de un campo que introduciremos desde teclado. Nosotros si escribimos todo en mayúscula, no nos devuelve nada porque en la tabla lo tenemos en minúscula. Pero nos puede pasar lo contrario. ¿Qué función puedo utilizar para hacer la select y le de lo mismo si esta en mayúscula o minúscula?
Respuesta
1
El truco consiste en "componer" una cadena con la sentencia SQL de la siguiente forma:
SQLstmt = "SELECT * FROM tabla WHERE UCASE(campo) = '" & UCASE(valor) & "'"
Observa que UCASE(campo) esta entre "" y pertenece a la sentencia SQL que se ejecutara en el lado de Access, mientra que UCASE(valor) esta fuera (a su vez protegido por '') y lo ejecuta VB. El resultado es que ambas partes están en mayúsculas.

5 respuestas más de otros expertos

Respuesta
1
Utilizando la instrucción LCASE conviertes una cadena de mayúsculas a minúsculas. Ejemplo: label1. caption=lcase(text1.text)
Si quieres convertir sobre el mismo desde el propio campo la instrucción seria Text1.text=Lcase(text1.text)
Respuesta
1
Usa la instrucción LCase de vb para convertir tus datos de entrada a minúscula y luego lanzas la consulta.
Dim cadena As String
cadena=LCase(Text1.Text)
Luego ya usas la variable con tu texto en minúsculas para lanzar la consulta, UCase hace lo contrario, te convierte tu cadena a mayúsculas.
Pues quizá lo más viable sería tener siempre los datos de la base en minúsculas por ejemplo, y si los datos de la misma los llenas desde una aplicación también en vb, pues forzar a la aplicación a siempre meter los datos así, y al leerlos también conviertes tus datos a minúsculas y en teoría no debe haber mayor problema, suerte.
Respuesta
1
Primero, no importa como lo escribas el Jet 4.0 de access hace los cambios necesarios, sin embargo, puedes usar la sentencia Where de la siguiente manera
Where Tabla.campo Like '% Variable'
Esto te sacara desde VB todos los registros que en ese campo terminen un una cadena = a variable si juegas con el % de otra forma por ejemplo 'variable %' seleccionaras los que en ese campo este esa cadena o '%variable%' seleccionaras los registro que en ese campo aparezca esa cadena, ojo si lo vas a probar directamente en access el símbolo % debes cambiarlo por *.
Suerte
Respuesta
1
Viejo lo mejor es que lo haga por like * * busca todo lo que contenga el string cualquier cosa le mando un ejemplo
Respuesta
1
La solución que aquí te propongo funciona en Visual Basic:
Variable = UCASE("lEtRaS")
' Variable = "LETRAS"
Variable = LCASE("lEtRaS")
' Variable = "letras"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas