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

Consulta y yista de campos no encontrados

Estas en el tema de Consulta y yista de campos no encontrados en el foro de ASP Clásico en Foros del Web. Hola, mi consulta es la siguiente, tengo una base de datos en la cual realizo una consulta que recibe una lista de códigos de productos ...
  #1 (permalink)  
Antiguo 06/05/2005, 10:31
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Consulta y yista de campos no encontrados

Hola, mi consulta es la siguiente, tengo una base de datos en la cual realizo una consulta que recibe una lista de códigos de productos que tiene mostrar al encontrarlos. Es posible que los códigos puedan ser mal ingresados en el formulario que recibe los datos para la consulta. En ese caso necesito listar esos códigos no encontrados. ¿Podrían decirme si alguien tiene idea de como realizar esta lista para que luego me la muestre?
Esta es la consulta que realizo:
strSql = "Select * From Producto WHERE " & criterio & " Order by ("& orden &") ASC"
rsRubro.open strSql , cn
while Not rsRubro.eof

donde "criterio" es el código que busca y luego ahí comienza a armar una tabla con los códigos encontrados.
Muchas gracias!!!
  #2 (permalink)  
Antiguo 06/05/2005, 10:34
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Una pregunta, cuántos códigos manejas?
Por qué en realidad lo que puedes hacer en lugar de buscar dónde se equivocaron es no darles la opción a que se equivoquen, haciendo un select de esos códigos en el formulario que los envías, en lugar de un text

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 06/05/2005, 10:54
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 5 meses
Puntos: 0
Hola! La cantidad de productos que se manejan es alrededor de 1000, pero el tema es que es necesaria la lista de codigos no encontrados porque me sirve para saber que quizás algún producto no esté cargado en la página.
Gracias por tu respuesta. Saludos!
  #4 (permalink)  
Antiguo 06/05/2005, 11:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Me parece que en todo caso necesitaríamos mas información como:

1.- De qué manera envias los datos, es decir, si uno por uno, o lo haces a manera de lista
2.- Cómo los recuperas y cómo estás tratando de procesarlos
3.- Estructura de la tabla o tablas donde tienes estos datos

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 06/05/2005, 13:30
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 5 meses
Puntos: 0
Los datos son enviados a traves de un formulario desde un campo de texto. Luego al recibir los datos del campo de texo, realizo un split:
Dim palabras
palabras = Split(Request.Form("codigo"),VBCrLf)


Luego comienza la consulta:

Dim cnn
Dim rssRubro
Dim strrSql
Dim II
Dim criterios
For II = 0 To UBound(palabras)
strrDsn = "yorma"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.open strrDsn
Set rssRubro = Server.CreateObject("ADODB.recordset")
criterios = "Codigointerno = '" & palabras(II) & "'"
strrSql = "Select * From Producto WHERE " & criterios & " "
rssRubro.open strrSql , cnn
while Not rssRubro.eof


Luego comienza a armarse la tabla para mostrar los datos:

<table width="75%" border="2" align="center" cellpadding="6" cellspacing="6" bordercolor="#000000">
<tr bordercolor="#0066FF">
<td width="191" bordercolor="#00CCFF">
<div align="center">
<img src="../Tools/images/Catalogo/<%=rssRubro.fields("Imagen")%>" border="0" alt="Ver Ampliada" width="160" align="top">
</a>
</div>
</td>
<td width="517" height="150" valign="middle" bordercolor="#00CCFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="70">
<tr>
<td valign="top" align="left" width="30%" height="8">
<div align="center">
<font color="#000000" size="3" face="Verdana, Arial, Helvetica, sans-serif">
<b>Nombre:</b></font>
</div>
</td>
<td width="70%" height="8" >
<div align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#FF0000">
<%=rssRubro.fields("Nombre")%></font></b></div>
</td>
</tr>
<% If rssRubro.fields("Descripcion") <> "" then%>
<tr>
<td valign="top" align="left" width="30%">&nbsp; </td>
<td width="70%" ><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#000000">
<%=rssRubro.fields("Descripcion")%></font></b>
</td>
</tr>
<% End If
If rssRubro.fields("Codigointerno") <> "" then%>
<tr>
<td width="21%" width="30%" height="3">
<div align="center"><b>
<font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">
C&oacute;digo interno:</font></b></div>
</td>
<td class= width="79%" width="70%" height="3"><b>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<%=rssRubro.fields("Codigointerno")%>
</font>
</b>
</td>
</tr>
<%End If%>
<tr>
<td height="2" width="30%"><font color="#F5F5F5">.</font></td>
<td align="right" height="2" width="70%">
<p><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
<a href="../Carrito/CatalogoCarrito.asp?Id=<% =rssRubro.fields("idproducto")%>">
<img src="../images/agregar.gif" border="0" width="64" height="27">
</a>
</font></p>
</td>
</tr>
</table>
</td>
</tr>

<td width="191" bordercolor="1" height="2"></td>
</tr>
</table>

<%
rssRubro.movenext
wend
cnn.close
Set rssRubro = nothing
Set cnn = nothing
Next
%>


Espero que estos datos te sirvan. Saludos, Erika.
  #6 (permalink)  
Antiguo 06/05/2005, 13:37
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola.

Creo que lo que ocupas es en el ASP, algo como:

1. Consulta con cierto criterio que te regresa todos los codigos
2. En un while comparas los codigos que encontraste contra los que tienes.

response.write codigo(i)
if rs("codigo") = codigo(i) then
response.write " --> Si fue encontrado"
else
response.write " --> Ni fue encontrado"

Bueno, eso parece que necesitas, suerte!!
  #7 (permalink)  
Antiguo 12/05/2005, 11:39
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 5 meses
Puntos: 0
Neuron, estu tratando de implementar lo que me propusiste, pero no me sale bien.
Arme un array donde guardo los códigos que fueron encontrados.
Luego hago un ciclo para poder comparar los elementos del array de los codigos encontrados (arraycodigos) con los codigos pedidos (palabras). Pero el resultado son todos los codigos pedidos. Creo que el problema está en la implementación de los ciclos.


<%
K=0
For J = 0 to UBound(arraycodigos)
If arraycodigos(J) = palabras(K) then
K= K+1
else
response.write palabras(K)
response.write " --> No fue encontrado "
response.write "<br>"
end if
next
%>

Mil gracias por tu ayuda!!
Saludos, Erika.
  #8 (permalink)  
Antiguo 12/05/2005, 16:15
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Bien...

Yo pensaba en algo como:

Cita:

arrCodigosQueRecibes = "Todos los codigos que recibiste para buscar en la base de datos"

rs = "Consulta a la base de datos para todos los codigos"

largo = Ubound(arrCodigosQueRecibes)
redim arrCodigosQueRecibesResultados(largo)

while not rs.eof

varCodigoEncontrado = cstr(rs("codigo"))

for i=0 to largo

if arrCodigosQueRecibes(i) = varCodigoEncontrado then
arrCodigosQueRecibesResultados(i) = True
exit for
end if

next

rs.next

loop

'Luego haces un for sobre arrCodigosQueRecibesResultados y si su valor es True entonces lo encontraste, y sino, pues quiere decir que no lo encontraste.

for i=0 to largo

if arrCodigosQueRecibesResultados(i) = True then

Response.write arrCodigosQueRecibes & " Encontrado<br>"

else

Response.write arrCodigosQueRecibes & " No - Encontrado<br>"

end if

next

Wowww, puse casi todo el codigo, jajaja, a lo mejor para nada, a lo mejor no es lo que necesitas, pero esa es la idea. Es decir, tienes todos los codigos que estabas buscando en un arreglo, y buscas uno por uno...

Este algoritmo no esta bien depurado ni pensado, pero tiene la idea principal, espero que te sirva.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
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 15:16.