Problemas con sql

Hola. Tengo el siguiente problema:
He hecho una aplicación para conectar con una base de datos access y todo funciona correctamente cuando lo que quiero buscar son todos los registros de una tabla o unos en concreto siempre y cuando le ponga el parámetro directamente en la consulta SQL es decir, cuando le pongo SELECT... WHERE DNI=11111111. Ahora bien, cuando lo que quiero hacer es que el parámetro sea el valor que se introduce en una caja de texto no me funciona. Se los pongo así: SELECT...WHERE DNI=FORM1.TEXT1.TEXT ¿Qué es lo que hago mal?
3

3 Respuestas

91.225 pts. Estudio ingenieria en sistemas, estoy en 3º año
Lo que pasa es que una cosa es una cadena y otra un objeto
Porque la sentencia sql es texto y el textbox es un objeto
Esto se haría conctenando
Ejemplo:
"SELECT * FROM tabla WHERE campo = " & txtValor.text
esto si son numeros
si son caracteres se usa LIKE en lugar de = y % en lugar de *
ejemplo
"SELECT * FROM personas where nombre LIKE '" & variable & "%'"
esta consulta... si variable=JUAN
Devolvería
Juan
Juana
Juancho
Juancito
Etc
Si necesitas alguna aclaración no dudes en preguntar
1.065.950 pts. Soy una persona multifacética, tanto manejo la...
Depende de como estés ejecutando la sentencia de búsqueda, la forma tradicional que utilizo es la siguiente:
dim sQuery as string
sQuery = "Select * from mitabla where DNI=" & form1.text1.text
Si se trata de un campo alfanumérico:
sQuery = "Select * from mitabla where DNI='" & form1.text1.text & "'"
35.750 pts. Desde los 14 años dedicado a la informática,...
Lo que parece estar mal es que introduces FORM1. TEXT1.TEXT en la cadena de texto, en vez de anexar su valor. La cadena SQL deberías construirla así:
Dim lStr As String
lStr = "Select * From TABLA Where DNI='" & FORM1.TEXT1.TEXT & "'"
Observa además que he puesto el valor de Text1 entre comillas simples, puesto que para campos alfanuméricos deber ser así.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas