Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Buscar cualquier caracter

Estas en el tema de Buscar cualquier caracter en el foro de Visual Basic clásico en Foros del Web. Buenas, queria saber como debo de armar una sentencia para que, por ejemplo, al buscar una palabra guardada en una base de datos, no importen ...
  #1 (permalink)  
Antiguo 14/08/2009, 12:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Buscar cualquier caracter

Buenas, queria saber como debo de armar una sentencia para que, por ejemplo, al buscar una palabra guardada en una base de datos, no importen las 2 primeras letras, pero si las que siguen, de manera que los 2 primeros caracteres sean una especie de incognita.
  #2 (permalink)  
Antiguo 14/08/2009, 15:01
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: Buscar cualquier caracter

puedes utilizar la funcion mid, que lo que hace es tomar una subcadena de una cadena ej:
cadena= palabra
subcadena = mid(palabra,3,len(palabra))
y len me devuelbe la cantidad de caracteres de la cadena, solo para asegurar que tome todas a partir del 3 caracter.
  #3 (permalink)  
Antiguo 14/08/2009, 15:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Buscar cualquier caracter

Pasa que la consulta es en una base de datos y donde quiero obviar los 2 caracteres es en lo que esta guardado de manera de hacerlo en una linea.
  #4 (permalink)  
Antiguo 18/08/2009, 07:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Buscar cualquier caracter

Dependiendo del motor de base de datos puedes usar LIKE con comodines:
Código SQL:
Ver original
  1. SELECT ... FROM ... WHERE campo LIKE '__texto';
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 18/08/2009, 07:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Buscar cualquier caracter

Entonces con la sintaxis LIKE pongo guiones bajos como pusiste vos en el ejemplo?

La base de datos esta en MySQL.
  #6 (permalink)  
Antiguo 18/08/2009, 07:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Buscar cualquier caracter

Sí, así es. Los guiones bajos representan cualquier carácter.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 18/08/2009, 08:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Buscar cualquier caracter

Hay alguna manera de hacerlo con un "WHERE campo=" en vez de usar LIKE?

Edit: lo hice de la siguiente manera pero me da error en la sintaxis:

Código SQL:
Ver original
  1. gastos.OPEN "SELECT * FROM gastos WHERE fecha LIKE '__'" & RIGHT(fechas(Combo1.ListIndex + 1, 1), 8), BD, adOpenStatic, adLockOptimistic

Última edición por ema21del9; 18/08/2009 a las 08:15
  #8 (permalink)  
Antiguo 18/08/2009, 08:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Buscar cualquier caracter

Lógicamente, eso te va a dar error ya que estás cerrando las comillas, por lo que la consulta quedaría:
Código MySQL:
Ver original
  1. SELECT * FROM gastos WHERE fecha LIKE '__'texto;
Cuando debería ser:
Código MySQL:
Ver original
  1. SELECT * FROM gastos WHERE fecha LIKE '__texto';
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 18/08/2009, 09:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Buscar cualquier caracter

Pasa que yo quiero que se compare con lo que esta guardado en la matriz fecha_guardada como veras, como seria la sintaxis en ese caso?

Por lo que entiendo en tu ejemplo texto no seria una variable sino caracteres, entendes lo que quiero yo?

Gracias de antemano David!
  #10 (permalink)  
Antiguo 18/08/2009, 09:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Buscar cualquier caracter

No importa si es una variable o sólo texto, el problema es que la consulta SQL final es incorrecta.

Prueba así:
Código vb:
Ver original
  1. "SELECT * FROM gastos WHERE fecha LIKE '__" & RIGHT(fechas(Combo1.ListIndex + 1, 1), 8) & "'"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 18/08/2009, 09:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Buscar cualquier caracter

Funciona de maravilla, muchisimas gracias David :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:14.