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

¿Mostrar registro base de datos?

Estas en el tema de ¿Mostrar registro base de datos? en el foro de ASP Clásico en Foros del Web. Quisiera saber si hay posibilidad de mostrar el primer registro de unos campos en concreto (a ver si me explico) Lo que hago es mostrar ...
  #1 (permalink)  
Antiguo 31/10/2008, 16:01
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta ¿Mostrar registro base de datos?

Quisiera saber si hay posibilidad de mostrar el primer registro de unos campos en concreto (a ver si me explico)

Lo que hago es mostrar una categoria en concreto y un bucle para que me muestre todos los registros de esa categoria. Pero lo que quiero realmente es que me muestre todos los registros de la categoria, excepto los que sean repetidos en un campo llamado RefProducto que solo quiero que me muestre el primero de cada.

No se si me he explicado con claridad, porque es un poco lio.

Espero que me ayudeis.

Un saludo y muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 31/10/2008, 19:16
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: ¿Mostrar registro base de datos?

la funcion DISTINCT() de sql te servira
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #3 (permalink)  
Antiguo 01/11/2008, 05:27
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ¿Mostrar registro base de datos?

Hola

Además de lo que te comenta mc_quake, te será interesante mirar este tuturial

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 01/11/2008, 07:17
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por mc_quake Ver Mensaje
la funcion DISTINCT() de sql te servira
Muchisimas gracias mc-quake.

Pero ahora no puedo mostrar registros.

Ej.:

Titulo = rs.fields("marca") & " " & rs.fields("modelo")

Me da este error.

----------------error-------------------
ADODB.Recordset error '800a0cc1'

No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.

/catalogo2.asp, línea 132
--------------fin error------------------

Cuando saco los registros de esta manera si funciona:

SQL = "SELECT * FROM Articulos WHERE [Categoria]='" & cat & "' ORDER BY Marca"

Y de esta otra no:

SQL = "SELECT DISTINCT RefProducto FROM Articulos WHERE [Categoria]='" & cat & "'"

Los campos si exiten y estan bien escritos.

Ayuda por favor

Un saludo y muchas gracias por adelantado.
  #5 (permalink)  
Antiguo 01/11/2008, 07:40
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ¿Mostrar registro base de datos?

Hola

De ahí que te dijera que le echaras un vistazo a esa liga

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 01/11/2008, 07:41
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Sonrisa Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por Adler Ver Mensaje
Hola

De ahí que te dijera que le echaras un vistazo a esa liga

Suerte
Ya le he echado un vistazo pero no le saco punta al tema.

Un saludo y muchas gracias.
  #7 (permalink)  
Antiguo 01/11/2008, 08:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ¿Mostrar registro base de datos?

Hola

No has debido prestar mucha atención. Mira en el apartado de subconsultas

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 01/11/2008, 10:00
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por Adler Ver Mensaje
Hola

No has debido prestar mucha atención. Mira en el apartado de subconsultas

Suerte
Muchas gracias Adler, he estado mirando un buen rato el tema de subconsultas y he modificado el codigo por este otro que muestro:

AbreBaseDatos("Datos")
SQL = "SELECT * FROM Articulos WHERE [Categoria]='" & cat & "' ANY (SELECT DISTINCT RefProducto FROM Articulos WHERE [Categoria]='" & cat & "')" ---------(codigo modificado)-----------
AbreRecordSet_pag rs,SQL,ConDatos,tampagina

Pero me muestra este error:

----------------error----------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la expresión de consulta '[Categoria]='CochecitosBebe' ANY (SELECT DISTINCT RefProducto FROM Articulos WHERE [Categoria]='CochecitosBebe')'.

/Includes/master.asp, línea 51
----------------fin error----------------------

-------------codigo donde esta la liena 51------------
Sub AbreRecordset_pag (recordset,consulta,conexion,tampagina)
Set Recordset=Server.CreateObject("ADODB.Recordset")
Recordset.PageSize=tampagina
Recordset.CacheSize=tampagina
Recordset.Open consulta,conexion,adOpenStatic --------(linea 51)------
End Sub
-------------fin codigo donde esta la liena 51------------


Ruego me echeis una mano.

Un saludo y muchas gracias por adelantado.
  #9 (permalink)  
Antiguo 01/11/2008, 12:46
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ¿Mostrar registro base de datos?

Hola

Parece que la consulta quedaría así

Código asp:
Ver original
  1. SQL = "SELECT * FROM Articulos WHERE [Categoria]='" & cat & "' and   RefProducto = (SELECT DISTINCT RefProducto FROM Articulos)"

Ya contaras

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 02/11/2008 a las 07:10
  #10 (permalink)  
Antiguo 01/11/2008, 14:06
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por Adler Ver Mensaje
Hola

Parece que la consulta quedaría así

[highligh="asp"]
SQL = "SELECT * FROM Articulos WHERE [Categoria]='" & cat & "' and RefProducto = (SELECT DISTINCT RefProducto FROM Articulos)"
[/highlight]

Ya contaras

Suerte
Muchas gracias Adler pero ahora me da este error.

-----error-------
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Controlador ODBC Microsoft Access] Esta subconsulta puede devolver como máximo un registro.

/Includes/master.asp, línea 51
------fin error-------

Todo esto se me escapa de mis conocimiendos, por lo que rogaria que alguien me ayude, evidentemente tu tambien Adler que eres el unico que me esta ayudando junto con mc_quake.

Un saludo y muuuuuuuuuuchisimas gracias por vuestro tiempo.
  #11 (permalink)  
Antiguo 02/11/2008, 08:14
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ¿Mostrar registro base de datos?

Hola

Veamos si es esta

Código asp:
Ver original
  1. SQL = "SELECT DISTINCT RefProducto, (SELECT Categoria FROM Articulos WHERE Categoria ='" & cat & "')  FROM Articulos"

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #12 (permalink)  
Antiguo 02/11/2008, 09:25
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: ¿Mostrar registro base de datos?

select DISTINT(columna_a_evaluar) From Tabla Where ...................

lo que decia que el nombre del ordinal no corresponde a la coleccion es por que en tu consulta
tienes mal escrito algun nombre de columna de tu base de datos
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #13 (permalink)  
Antiguo 02/11/2008, 15:22
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por mc_quake Ver Mensaje
select DISTINT(columna_a_evaluar) From Tabla Where ...................

lo que decia que el nombre del ordinal no corresponde a la coleccion es por que en tu consulta
tienes mal escrito algun nombre de columna de tu base de datos
No lo que pasa es que estoy intentando recuperar un registro de otra columna y evidentemente no me lo muestra porque estoy indicando solo la columna "RefProducto", es por eso que hay que hacer una subcosulta para recuperar el resto de campos tal como me ha indicado Adler, pero el problema es que me sigue dado error.
  #14 (permalink)  
Antiguo 02/11/2008, 15:23
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por Adler Ver Mensaje
Hola

Veamos si es esta

Código asp:
Ver original
  1. SQL = "SELECT DISTINCT RefProducto, (SELECT Categoria FROM Articulos WHERE Categoria ='" & cat & "')  FROM Articulos"

Suerte
Adler me sigue dando el mismo error y no tengo ni idea, alguna alma caritativa que de luz a este tunel tan sombrio, por favor.


Un saludo y muchas gracias.
  #15 (permalink)  
Antiguo 02/11/2008, 15:36
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: ¿Mostrar registro base de datos?

"SELECT DISTINCT(RefProducto), (SELECT * FROM Articulos AS ART1 WHERE ART1.Categoria ='" & cat & "') FROM Articulos"

ya si
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #16 (permalink)  
Antiguo 02/11/2008, 16:19
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Respuesta: ¿Mostrar registro base de datos?

Cita:
Iniciado por mc_quake Ver Mensaje
"SELECT DISTINCT(RefProducto), (SELECT * FROM Articulos AS ART1 WHERE ART1.Categoria ='" & cat & "') FROM Articulos"

ya si
Yo me estoy volviendo tonto con el tema este, ahora me da este error.

--------------error------------
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Controlador ODBC Microsoft Access] Ha escrito una subconsulta que puede devolver más de un campo sin utilizar la palabra reservada EXISTS en la cláusula FROM de la consulta principal. Corrija la instrucción SELECT de la subconsulta para solicitar un único campo.

/Includes/master.asp, línea 51
---------fin error----------------------

Bueno, espero vuestra ayuda.

Muuuuuuuchas gracias de nuevo.
  #17 (permalink)  
Antiguo 03/11/2008, 06:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ¿Mostrar registro base de datos?

Hola

Probemos así

Código asp:
Ver original
  1. SQL = "SELECT DISTINCT(RefProducto), (SELECT * FROM Articulos AS ART1 WHERE EXSISTS ART1.Categoria ='" & cat & "')  FROM Articulos"

Si tampoco resulta, no se me ocurre nada más y tendrás que hacer con consulta individuales, siempre, claro está, que algunos de los maestros no diga lo contrario

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 02:05.