Búsqueda anidada

Hola amigo, tengo un problemilla a ver si me podes ayudar:
Tengo una página en asp en donde tengo 3 elementos, el primero es un combo box llamado cbo_rubro, el segundo es un campo de texto llamado txt_buscar; el tercer elemento es un botón de tipo SUBMIT. Te explico como funciona la página: yo del combo selecciono un rubro (OJO: existen 6 rubros y cada empresa pertenece a un solo rubro) y luego en el textfield pongo un criterio de búsqueda y lo que me debería de resultar es una lista de las empresas que cumplan con el criterio de búsqueda y que pertenezcan al rubro que yo seleccione del combo previamente.
Te lo explico mejor con un ejemplo: en el combo selecciono el rubro METAL y luego en el criterio de búsqueda solo pongo la letra P, se supone que el resultado debería de ser una lista de todas las empresas que en su nombre lleven la letra P y que PERTENEZCAN AL RUBRO METAL. La consulta la hago con esta linea:
consulta = "SELECT * FROM empresa WHERE cod_rubro = " & request.form("cbo_rubro") & " and nomb_empresa LIKE'% " & var_buscar & "%'" & ";"
var_buscar es igual a var_buscar = Request.Form("txt_buscar")
El problema que tengo es que no me funciona! Si por ejemplo ejecuto el ejemplo que te dije anteriormente solo me lista la primera empresa y no las demás (por ej. "PROHOGAR", pero no "PEWTER DE MEXICO")
Para ver lo que estaba ocurriendo le puse un response. Write (consulta) y cuando ejecuto el ejemplo anterior me sale esto, que es la consulta realizada:
SELECT * FROM empresa WHERE cod_rubro = 5 and nomb_empresa LIKE'% p%';
Realmente no se que es lo que esta pasando, ¿me podrías ayudar?
Muchas gracias por tu tiempo.

1 Respuesta

Respuesta
1
Parece que hay un espacio después del primer %, en la condición LIKE. Eso no creo que sea el fallo, ya que sólo devolvería las empresas cuya segunda palabra del nombre comenzara por P. Al margen de eso, que yo achaco a un error tuyo al escribir el mensaje, la consulta parece correcta. Ten en cuenta que el recordset devuelto se posiciona siempre en el primer registro, y si quieres mostrarlos todos tienes que recorrer todo el recorset con MoveNext.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas