Ayudarme porfa: comodín "*"

txola
08 de Agosto del 2003
Hola amig@s,

A ver si me podéis ayudar.

Necesito que el programa de Visual Basic me lea y compare cualquier cantidad de caracteres cualesquiera. Para ello utilizo el comodín asterisco "*" con el evento LIKE.

Si le añado el asterisco a una palabra "string", me funciona bien, pero si le añado el "*" al texto introducido por ejemplo en un textBox, el programa no lo entiende como un comodín, si no que lo identifica como un asterisco.

A ver si me explico con un par de ejemplillos:

text1.text like "mari" & "*"

En el caso anterior, no tengo ningún problema, y al escribir por ejemplo en la caja de texto "maria", me devuelve el valor de True.

Sin embargo, si quiero comparar dos cadenas introducidas en 2 cajas distintas:

text1.text like text2.text like & "*"

Aunque en este caso introduzca la misma palabra en las 2 cajas, me devuelve el valor False porque en el segundo caso me lee el asterisco como tal, y no lo entiende como un caracter cualquiera, es decir lo lee como "mari*".

Por favor, ayudarme a solucionar el problema. Os agradecería que me mandaseis algún ejemplillo simple.

Muchíííííííííísimas gracias y saludos!




Juan
08 de Agosto del 2003
Pues a mi text1.Text Like text2.Text & "*" me funciona
a la perfección, mira si en tu código fuente lo has escrito
como aquí que has puesto dos veces el operador Like

txola
08 de Agosto del 2003
Hola a tod@s,

Juan, muchas gracias por contestarme. Tienes razón, lo he comprobado y funciona bien.
Por otra parte, aprovecho esta ocasión para lanzaros otra cuestión:

Necesitaría saber cómo puedo hacer para que mediante el textbox yo escriba una palabra y Visual Basic me vaya buscando esa palabra en una hoja de Excel mostrando los datos al mismo tiempo. Es decir, si yo escribo la letra A, que me aparezcan automáticamente todos los nombres que empiecen por A, y si después de la A pongo la L, me aparezcan con AL y a medida que voy poniendo nuevas letras se vayan mostrando los resultados. (más ó menos como con el índice de la ayuda de Visual Basic).

Ahora que gracias a vosotros s´´e algo más del comodín *, intentaré codificar la búsqueda, pero si alguién me pudiera echar una mano con algún ejemplillo sencillo le agradecería mucho.

Muchas gracias de antemano y saludos!

Alfredo
08 de Agosto del 2003
Hola te puedo ayudar para que lo hagas con un DBGrid mira si lo puedes implementar con una hoja de Excel. Si lo logras me regalas un copia, por favor.

Para este ejemplo debes crear un formulario donde incluyes un DbGrid asociado un objeto Data y el objeto Data logicamente asociado a una base de datos.
En este caso la DB contiene una tabla "Estudiantes", con los campos "Nombres" y "Apellidos"
te incluyo un Combo1 para que desde este puedas elegir tu busqueda por "Nombres" ó "Apellidos"
En el Text1 a medida que vas escribiendo, el DBgrid se va actualizando.




Private Sub Form_Activate()
Text1.SetFocus
End Sub


Private Sub Text1_Change()
Buscar
End Sub

Function Buscar()
Dim Dato As String
Dato = "SELECT Nombres, Apellidos" & " From Estudiantes" & " where" & "[" & Combo1.Text & "]" & "Like"
Data1.RecordSource = Dato & "'" & Text1.Text & "*" & "'" & "ORDER BY [Nombres]"
Data1.Refresh
End Function


Espero te ayude a satisfacer tu inquietud.