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

Consulta que devuleve un registro duplicado

Estas en el tema de Consulta que devuleve un registro duplicado en el foro de ASP Clásico en Foros del Web. Hola amigos, Estoy realizando una consulta SQL a una base de datos MS-ACCESS, es una consulta simple, donde agrupo los registros por un campo. SQL="SELECT ...
  #1 (permalink)  
Antiguo 18/11/2006, 04:41
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Consulta que devuleve un registro duplicado

Hola amigos,

Estoy realizando una consulta SQL a una base de datos MS-ACCESS, es una consulta simple, donde agrupo los registros por un campo.

SQL="SELECT Zona1 FROM Web GROUP BY Zona1"

El caso es que cuando me devuelve los registros (5 resultados) 2 de ellos vienen duplicados de este modo:

RESULTADO1
RESULTADO2 RESULTADO2
RESULTADO3
RESULTADO4
RESULTADO5 RESULTADO5

He realizado esto cientos de veces y nunca me habia pasado antes.

He comprobado la base de datos en local y este campo no aparece duplicado.

¿De donde puede estar surgiendo este duplicado?
  #2 (permalink)  
Antiguo 18/11/2006, 17:11
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 1
Podrias utilizar select distinct para obtener los valores unicos, y sí haces un select de Zona1 donde Zona1 = resultado repetido, para que veas si en realidad existen repetidos.
__________________
3S-CRM
  #3 (permalink)  
Antiguo 20/11/2006, 11:41
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Hola Fino, si hago un select distinct el resultado es exactamente el mismo.

Puedes entrar en w w w . inversionesmediterraneo . es / demo / y ver el primer desplegable que es donde me está surgiendo el error.

Es muy raro, como dige antes, en la base de datos los registros no están duplicados.
  #4 (permalink)  
Antiguo 20/11/2006, 13:26
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 1
y el código?
__________________
3S-CRM
  #5 (permalink)  
Antiguo 21/11/2006, 03:09
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
De acuerdo

El código que uso para sacar esos resultados es:

<%
Dim oConn, rs, SQL
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath(".\BBDD.mdb")
rs.cachesize=60
SQL="SELECT distinct Zona1 FROM Web"
rs.Open SQL, oConn, 1, 2
%>
<select name="localidad" onChange="cambialocalidad()">
<%if request("localidad")="" then%>
<option selected value=""> -- SELECCIONE LOCALIDAD --</option>
<%else%>
<option value=""> -- SELECCIONE LOCALIDAD --</option>
<%end if%>
<% do while not rs.EOF
if rs("Zona1")<>"" then
if (rs("Zona1")=request("localidad")) then%>
<option value="<%=rs("Zona1")%>" selected><%=rs("Zona1")%></option>
<%else%>
<option value="<%=rs("Zona1")%>"><%=rs("Zona1")%></option>
<%end if
end if
rs.movenext
loop
rs.Close%>

Ese es todo el código que hay.
  #6 (permalink)  
Antiguo 21/11/2006, 08:59
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 1
Puedes hacer eso para ver que datos te aparecen
SQL="SELECT Zona1 FROM Web"
do while not rs.EOF
Response.Write(rs("Zona1")&"<br>"
rs.movenext
loop
__________________
3S-CRM
  #7 (permalink)  
Antiguo 21/11/2006, 09:07
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Ya tienhes incluido el código, pero la dirección es
http : //www . inversionesmediterraneo . es/ demo/ indexV2.asp

Como verás saca los datos igual que si no se agruparan, con el duplicado.

Yo creo que puede ser un error de ms-access pero no entiendo porque si veo en local la base de datos con la aplicación de microsoft, esos campos aparecen bien escritos y al hacer la select con ASP aparecen duplicados, y solo esos.
  #8 (permalink)  
Antiguo 21/11/2006, 15:23
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 1
Me parece que el problema esta en como están almacenados los datos.
__________________
3S-CRM
  #9 (permalink)  
Antiguo 22/11/2006, 06:28
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Te refieres al tipo de dato?

Es un tipo TEXTO de Access normal y corriente.

Si lo que a mi me mosquea es que para el valor ALMERIA no lo duplique y en cambio para el valor CINTURON saque "CINTURON CINTURON"
  #10 (permalink)  
Antiguo 29/11/2006, 12:53
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Alguien puede aydarme?

Sigo sin saber porque me devuelve datos repetidos.

Un saludo.
  #11 (permalink)  
Antiguo 29/11/2006, 13:35
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Que tal.

De acuerdo a la petición de FiNo y que tu haces en la página:

http://www.inversionesmediterraneo.es/demo/indexV2.asp

No hay error alguno, el valor del campo Zona1 de la tabla Web.

Hay registros que tienen los valores:


CINTURON CINTURON
OTRAS ZONAS OTRAS ZONAS


Que hasta donde entendí, son los valores que tu dices que se "repiten", si corriges los registros que tiene dichos valores, todo saldra "bién".

Esta corrección la puedes hacer de la siguiente manera.

Código:
UPDATE Web SET Zona1 = 'CINTURON' Where zona1 = 'CINTURON CINURON'

-- Y

UPDATE Web SET Zona1 = ''OTRAS ZONAS' Where zona1 = 'OTRAS ZONAS OTRAS ZONAS'
Saludos y suerte!
  #12 (permalink)  
Antiguo 30/11/2006, 03:16
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Exclamación Definitivamente es un error de access

Hola a todos, como he puesto en el título de mi mensaje, debe ser un error de access, ya que no encuentra ni 'CINTURON', ni 'CINTURON CINTURON', ni 'OTRAS ZONAS, ni 'OTRAS ZONAS OTRAS ZONAS'.

He intentado hacer una select como esta que os adjunto y no me devuelve resultados con ninguna de las anteriores opciones, en cambio si pongo 'ALMERIA' funciona perfectamente, con lo que no me queda otra que decir que el error es de ACCESS.

SQL="SELECT Zona1 FROM Web WHERE Zona1 LIKE 'CINTURON CINTURON'"
rs.Open SQL, oConn, 1, 2
Response.Write("SELECT Zona1 FROM Web WHERE Zona1 LIKE 'CINTURON CINTURON': <br>")
do while not rs.EOF
Response.Write(rs("Zona1")&"<br>")
rs.movenext
loop
rs.Close

Esto me va a volver loco...

Un saludo.
  #13 (permalink)  
Antiguo 30/11/2006, 10:53
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Estoy intrigado.

Que tal, buen día.

Podrías por favor publicar en algun lado tu archivo de access ( con la tabla que mencionas ), para descargarlo y ver con más detalle que es lo que pasa.



Saludos.
  #14 (permalink)  
Antiguo 30/11/2006, 11:11
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Sonrisa Descargala

Hola, en w w w. inversionesmediterraneo . es / BBDD.mdb puedes descargarla, verás como en la tabla Web, columan Zona1 los valores muestran CINTURON y OTRAS ZONAS, sin duplicar...
  #15 (permalink)  
Antiguo 30/11/2006, 11:30
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Iniciado por UP-CREATIVE Ver Mensaje
Hola, en w w w. inversionesmediterraneo . es / BBDD.mdb puedes descargarla, verás como en la tabla Web, columan Zona1 los valores muestran CINTURON y OTRAS ZONAS, sin duplicar...

Abrí la tabla WEB en el MS Access y con el puntero del mouse agrandá el alto de una de las filas:





__________________
...___...

Última edición por AlZuwaga; 30/11/2006 a las 11:37
  #16 (permalink)  
Antiguo 30/11/2006, 11:55
Avatar de UP-CREATIVE  
Fecha de Ingreso: noviembre-2006
Ubicación: En ALMERIA (El Paraiso)
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Mil Perdones

Pues y es verdad, quiero pedir perdon por mi incompetencia. La verdad es que fué lo primero que miré pero solo agrandé la celda de ancho, no de alto, por eso no vi que el duplicado se encontraba bajo el otro valor.

MUCHAS GRACIAS POR SU AYUDA.

UN SALUDO.
  #17 (permalink)  
Antiguo 30/11/2006, 12:08
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
nah, no te preocupes... suele ocurrir :)
__________________
...___...
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 00:58.