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

Problemas con una consulta

Estas en el tema de Problemas con una consulta en el foro de ASP Clásico en Foros del Web. Hola a tod@s. Vereis tengo que hacer algo como esto: Alava pueblo1 pueblo2.... Albacete pueblo1 pueblo2 ... ....... Tanto las provincias como los pueblos los ...
  #1 (permalink)  
Antiguo 19/09/2006, 11:41
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
una consulta dentro de otra

Hola a tod@s.
Vereis tengo que hacer algo como esto:
Alava
pueblo1
pueblo2....
Albacete
pueblo1
pueblo2 ...
.......

Tanto las provincias como los pueblos los saco de una base de datos.
Tengo este codigo, pero no me funciona, me da el siguiente erro:

Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'

Se requiere un objeto: ''

/es/provincia_pueblo.asp, línea 61

El codigo es el siguiente:
<%
'/***********************/'listado provincias de España
sql = "select id_region,region from data_regiones where id_pais=201 order by region"
o_rs1.Open sql
do while not (o_rs1.EoF or o_rs1.BoF)
region = o_rs1("region")%>
<%=region%><br>


<%'/********************************************** %>

<%
sql = "select id_pueblo,poblacion from data_poblaciones inner join data_regiones on data_poblaciones.id_provincia=data_regiones.id_reg ion where id_pais = 201 and id_region LIKE '"&id_region&"'"
o_rs.Open SQL, o_conn
do while not (o_rs.EoF or o_rs.BoF)
poblacion= o_rs.Fields("poblacion")%>
<%=poblacion%>
<%o_rs.moveNext
Loop
o_rs.close

%>
<%'/***********************************************%>


<%
o_rs1.moveNext
Loop
o_rs1.Close %>


Alguien me puede ayudar? Gracias por adelantado.
  #2 (permalink)  
Antiguo 19/09/2006, 13:30
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 1
Cual es la linea 61?
__________________
3S-CRM
  #3 (permalink)  
Antiguo 19/09/2006, 13:31
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
/es/provincia_pueblo.asp, línea 61


¿cual es la linea 61?

Te falta instanciar un objeto
  #4 (permalink)  
Antiguo 20/09/2006, 10:00
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
Problemas con una consulta

Hola a todo el mundo.
A ver si me podeis ayudar.
Tengo las siguientes tablas
Data_regiones Data_poblaciones
Id_region id_pueblo
Region poblacion
Id_pais id_region

Tengo que escribir algo como esto
region1
poblacion1
poblacion2
......
region2
poblacion1
poblacion2...
.....

Como tengo que hacer la consulta y escribir en asp? Tengo lo siguiente pero no me funciona, me sale la primera region y despues todos los pueblos seguidos sin ponerme el nombre de la segunda region.

sql = "select data_poblaciones.id_pueblo,data_poblaciones.poblac ion, data_regiones.region from data_poblaciones left join data_regiones on data_regiones.id_region=data_poblaciones.id_region where id_pais = 201 "
o_rs.Open SQL, o_conn
do while not (o_rs.EoF or o_rs.BoF)
region = o_rs.Fields("region")%>
<%=region%><br>
<% do while not (o_rs.EoF or o_rs.BoF)
poblacion= o_rs("poblacion")%>
<%=poblacion%>
<%o_rs.moveNext
Loop
o_rs.moveNext
Loop
o_rs.close

%>
  #5 (permalink)  
Antiguo 20/09/2006, 10:14
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
no respondistes en este otro post

te van a ayudar :)

http://www.forosdelweb.com/showthread.php?t=427152
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 20/09/2006, 23:24
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
problemas con consulta

No he respondido al mensaje porque he ido cambiando el codigo y no recuerdo cual es la linea 61, pero sigo con el problema de no saber como hacer la consulta y poder ver el resultado.
Pongo de nuevo las tablas de la BD porque no se ve muy bien en el anterior post.

Data_regiones
Id_region
Region
Id_pais

Data_poblaciones
id_pueblo
poblacion
Id_region

Por favor si alguien me puede ayudar, muchas gracias.
  #7 (permalink)  
Antiguo 21/09/2006, 07:35
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
jejeje, haz cambiado el código, pero incluso en el block de notas puedes irte a cierta linea en particular.
Córrelo y ve que linea ahora marca error y postea las lineas involucradas.
  #8 (permalink)  
Antiguo 21/09/2006, 08:07
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
Gracias por responder Myakire pero es que al cambiar el codigo he solucionado ese problema no se como pero ahora tengo otro.
El caso es que como digo necesito escribir algo como esto

region1
poblacion1
poblacion2
......
region2
poblacion1
poblacion2...
.....

y lo que me escribe ahora es muchas veces la region1 y no me escribe las poblaciones.
La verdad tengo un lio que no se como hacer.
Como veis soy muy una novata en esto.
  #9 (permalink)  
Antiguo 21/09/2006, 10:16
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
¿y ahora como esta el código que hace eso? ¿o es el mismo de arriba?
  #10 (permalink)  
Antiguo 21/09/2006, 13:22
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
mi idea es:
Tus tablas

Cita:
Data_regiones
Id_region
Region
Id_pais

Data_poblaciones
id_pueblo
poblacion
Id_region
haces tus consulta
Cita:
sql "select * from Data_regiones order by Id_region ASC"
Set RS = oConnPrincipal.Execute(SQL)
if RS.bof and RS.eof then
'no hacemos nada
else
'hacemos algo
Do While Not RS.EOF
'imprimimos el nombre de la ragion
id_region = RS("id_region")
sql2 "select * from Data_poblaciones where id_region = "& id_region &" order by Id_pueblo ASC"
Set RS2 = oConnPrincipal.Execute(SQL2)
if RS2.bof and RS2.eof then
'no hacemos nada
else
'empezamos a mostrar
Do While Not RS2.EOF
'imrpimimos nombres de los pueblos
RS2.MoveNext
Loop
end if
RS2.Close
set RS2 = nothing
RS.MoveNext
Loop
end if
RS.Close
set RS = nothing
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 21/09/2006, 16:12
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
mi idea sería hacer un join de las dos tablas y mediante un "flag" controlar si el campo Region "se debe dibujar o no" dependiendo de si su contenido es igual al de la anterior pasada del bucle.
__________________
...___...
  #12 (permalink)  
Antiguo 22/09/2006, 10:57
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
y al final se perdio canela
jijijiij
__________________
JuanRa Pérez
San Salvador, El Salvador
  #13 (permalink)  
Antiguo 24/09/2006, 01:03
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
Perdonad por no poder contestar antes, pero no habia podido probar lo que me habias comentado.
He probado lo de JuanRaperez y me sale este error

Álava

Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'

Se requiere un objeto: ''


Esto me sale al ejecutar el segundo select.
Sabeis por qué no puedo ejecutar el segundo select dentro del primero?

gracias por vuestras molestias.
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 22:09.