Foros del Web » Programando para Internet » ASP Clásico »

Problema Registros

Estas en el tema de Problema Registros en el foro de ASP Clásico en Foros del Web. Tengo un problema, hago una busqueda y a la hora de mostrar los registros de la base de datos, me los muestra todos, y no ...
  #1 (permalink)  
Antiguo 01/03/2002, 06:06
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Problema Registros

Tengo un problema, hago una busqueda y a la hora de mostrar los registros de la base de datos, me los muestra todos, y no los que yo le he pedido. dejo aqui el codigo asp a ver si alguien me puede ayudar, gracias!

<%

Dim Conexion,Tabla
Set Conexion=Server.CreateObject("adodb.connectio n")
Set Tabla=Server.CreateObject("adodb.recordset&qu ot;)
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("buscador.mdb")

Dim Temp

Temp="Select * From empresas Where UCase(actividad) like '%" & UCase(Request("Actividad")) & "%'"

Tabla.Open Temp, Conexion
If Tabla.BOF And Tabla.EOF Then
%>

<p><font face="Tahoma" size="2">No se ha encontrado nada con <strong><%=Request("Actividad") %></strong> en la Base de Datos</font></p>


<%
Else
%>

<% While Not Tabla.EOF%>
<tr>
<td width="22%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("Act ividad")%></font></td>
<td width="30%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("Nom bre Empresa")%></font></td>
<td width="22%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("Pro vincia")%></font></td>
<td width="26%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("Loc alidad")%></font>
</tr>
<%
Tabla.MoveNext
Wend
Tabla.Close
Conexion.Close
End If
%>
  #2 (permalink)  
Antiguo 01/03/2002, 06:24
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Problema Registros

Pos parece que esta bien,haz una cosa pon un response.write(Temp), antes de abrir la tabla y nos dices que pone en él vale?

Se me ocurre que puede ser que la variable request("actividad") no contenga nada y por eso selecciona todos los registros,prueba con lo que te he dicho

P.D.Si la base de datos es acces da igual que pongas lo del Ucase porque no es CASE-SENSITIVE, intenta quitando los UCASE

Nos cuentas
  #3 (permalink)  
Antiguo 01/03/2002, 06:31
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

antetodo Mecenias gracias por contestarme. te explico, he puesto el response.write(temp) y nada. lo del ucase no lo sabia, pero como quedaria la linea? supongo que el problema es que no hace caso de esa linea, y por eso me los muestra todos. a ver si puedes ayudarme, gracias
  #4 (permalink)  
Antiguo 01/03/2002, 06:35
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

una cosa, he comprobado que si no pongo nada en el campo actividad me muestra todos los resgistros igual, asi que el problema debe de estar en el select.

gracias
  #5 (permalink)  
Antiguo 01/03/2002, 06:35
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Problema Registros

Pon esto y dices que da:

Temp="Select * From empresas Where Actividad like '%" & Request("Actividad") & "%'"

response.write(Temp)

Tranki, pa ayudarnos estamos todos,hoy por mi mañana por ti ;)
  #6 (permalink)  
Antiguo 01/03/2002, 06:37
 
Fecha de Ingreso: febrero-2002
Mensajes: 47
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Problema Registros

Puedes hacerlo desde access.
Haces una consulta, la abres y desde 'vista SQL' le dices los registros que quieres mostrar y en que orden, por ejemplo:
SELECT [Compañia], [Departamento], [Nombre], [Telefono], [Movil], [Fax], [E-mail], [Comentarios]
FROM nombre_de_la_tabla
ORDER BY [Compañia], [Departamento], [Nombre];
No te olvides de relacionar el codigo asp con la consulta en vez de con la tabla.
Verás como funciona.
Saludos
  #7 (permalink)  
Antiguo 01/03/2002, 06:44
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

Mecenias, sigue sin funcionar, me muestra todos los registros de la tabla. no se que estoy haciendo mal, pero algo hace que la consulta no se haga correctamente.

Sandralala, perdona pero no tengo ni la más remota idea de lo que me pides. perdona pero llevo muy poco tiempo programando asp. si puedes explicarme mejor..

gracias a los dos
  #8 (permalink)  
Antiguo 01/03/2002, 07:04
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

Por favor, que alguien me ayude, me voy a volver loco! jeje seguro que hay algun fallo por ahi que se nos escapa.

gracias
  #9 (permalink)  
Antiguo 01/03/2002, 07:05
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Problema Registros

Te aconsejo que después de hacer el response.write(temp), selecciones toda la instrución, y le hagas un copiar - pegar en una nueva consulta access (opción SQL) de la base de datos buscador.mdb.

Desde aquí te tiene que dar el mismo resultado que en ASP y pordrás analizar mejor la sentencia ¿Me expliqué? :cantar:
  #10 (permalink)  
Antiguo 01/03/2002, 07:10
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

gracias dimoito. la verdad es que no te he entendido. antes he recibido una respuesta que iba por tu camino, pero no se como se crea una consula en acces, y como luego la vinculo con mi pagina. si me puedes ayudar y me explicas mejor..

gracias
  #11 (permalink)  
Antiguo 01/03/2002, 07:10
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Problema Registros

Si, si pero dime que texto te muestra por pantalla cuadno hace el response.write, tiene que ser algo asi:

Select * from empresas Where Actividad like '%telecomunicaciones%'"

Si el texto que te muestra es este:

Select * from empresas Where Actividad like '%%'"

Entonces te mostrara todas las empresas y es porque no recibes nada en el request("actividad")

Pon el fragmento de coddigo desde donde envias la actividad
  #12 (permalink)  
Antiguo 01/03/2002, 07:14
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

Mecenias, el texto que me da es el siguiente:

Select * From empresas Where Actividad like '%%'

pq no recibo nada del request("actividad")?

gracias
  #13 (permalink)  
Antiguo 01/03/2002, 07:17
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

a grandes rasgos Mecenias, este es el codigo donde introduzco la actividad

<html>

<head>
<title>Busqueda</title>
</head><body bgcolor="#FFFFCC">


<p align="center">  </p>
<p align="center"> </p>
<p align="center"> 
<table width="636" border="0" align="center">
<tr>
<td width="98" height="34"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Actividad</font></td>
<td width="159" height="34">
<input type="text" name="actividad">
</td>
<td colspan="2" height="34">  </td>
</tr>
<tr>
<td colspan="4">  </td>
</tr>
<tr>
<td colspan="4">
<div align="center">
<form method="post" action="buscar1.asp">
<input type="submit" name="Submit" value="Buscar">
</form>
</div>
</td>
</tr>
</table>
<div align="center"></div>
<p> </p>
</body>

</html>
  #14 (permalink)  
Antiguo 01/03/2002, 07:18
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Problema Registros

Ese es el problema no recibes nada del request("actividad"), si quieres pon el fragmento del codigo del selct de actividad para ver que ocurre.
  #15 (permalink)  
Antiguo 01/03/2002, 07:19
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Problema Registros

Como dice Mecenias, nos sería de mucha utilidad ver el resultado de ese response.write.
En cuanto a cómo hacer una consulta sql en access, lo puedes hacer de la siguiente manera.
1. Abrir base de datos (buscador.mdb en este caso)
2. Ir a la pestaña u opción de consulta.
3. Pulsar nueva consulta.
4. Pulsar la opción de 'Crear una consulta en vista diseño'
5. Te saldrá una lista de tablas.
6. Le das cerrar a esta lista, sin seleccionar ninguna.
7. Verás que arriba a la izquierda tienes un botón que pone SQL. Le das y ya está. Ahora sólo tienes que seleccionar el texto del response.write y pegarlo aquí.

Espero haberme explicado
  #16 (permalink)  
Antiguo 01/03/2002, 07:21
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Problema Registros

Ok, ya esta, debes poner el form antes del table

Estas enviando un formulario en el que no incluyes el campo actividad dentro de el, metes:

<form method="post" action="buscar1.asp">
<table width="636" border="0" align="center">
<tr>
<td width="98" height="34"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Actividad</font></td>
<td width="159" height="34">
<input type="text" name="actividad">
</td>
<td colspan="2" height="34">  </td>
</tr>
<tr>
<td colspan="4">  </td>
</tr>
<tr>
<td colspan="4">
<div align="center">
<input type="submit" name="Submit" value="Buscar">
</form>
</div>
</td>
</tr>
</table>
<div align="center"></div>
<p> </p>


Y se acabaron tua problemas,Te valio?

Sal ;) udos
  #17 (permalink)  
Antiguo 01/03/2002, 07:27
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema Registros

gracias Mecenias!! ya me sale bien, aunque ahora mi pregunta es pq pasaba eso? no puedo meter un form dentro de una tabla?

aprovechando tu amabilidad, me gustaria hacerte otra pregunta. al igual que ahora tengo solo un campo de búsqueda, podria tener más de uno? por ejemplo actividad,provincia,codigo postal.. etc?
  #18 (permalink)  
Antiguo 01/03/2002, 07:43
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Problema Registros

Bueno aunque nunca fui bueno explicando intentare hacerlo:

EL problema residia en que digamos que tu lo que mandas es un formulario con unos campos,estos campos son aquellos que se encuentren dentro de las etiquetas de apertura y cierre de form, sino estan dentro de las etiquetas no los envia, es decir,se ve con un ejemplo:

Ejemplo 1

<form ..... >
actividad
coche
dinero
</form>

en este caso envias los campos actividad, coche y dinero,puesto que ambos estan dentro de las etiquetas de form.

Ejemplo 2

actividad
<form ..... >
coche
dinero
</form>

En este caso solo envias coche y dinero pues son los unicos que estan dentro de las etiquetas, actividad al no estar dentro de las etiquetas no lo reconoce y no lo envia puesto que tu lo que envias al hacer un submit es un formulario y todo los campos que esten dentro de él.

Como veras se puede jugar con esto y es posible tener varios form con nombre distintos, asi dependiendo del boton que apretes lo envias a un lado u otro con unos campos u otros

Respecto lo segundo claro que se puedes, puedes buscar por muchos campos, algo del tipo:

<form>
actividad
provincia
codigo postal
</form>

y luego en tu pagina .asp dependiendo de los parametros que rellenes los vas anidando en un select para hacer cada vez la consulta mas especifica.Asi el puede consultar por los 3 campos, por 2, por 1


Sino entiendes algo hazmelo saber(antes de las 14 h pk a esa hora acabo de currar y no vuelvo hasta el lunes),oK :P


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 14:23.