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

Consulta de dos tablas por registros (select depen)

Estas en el tema de Consulta de dos tablas por registros (select depen) en el foro de ASP Clásico en Foros del Web. Hola a tod@s - Tengo dos tablas relacionadas entre si con varios campos en cada una, me gustaría mostrar los registros de la primera tabla ...
  #1 (permalink)  
Antiguo 06/06/2007, 12:21
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Consulta de dos tablas por registros (select depen)

Hola a tod@s
- Tengo dos tablas relacionadas entre si con varios campos en cada una, me gustaría mostrar los registros de la primera tabla en campos de texto vinculados un select principal (será el id de la tabla1).
- Al mismo tiempo me gustaría mostrar también en el mismo formulario campos de texto con los registros de la tabla2 vinculados al select de la primera, no se si me explico.

El caso es que me surgen dos problemas con lo que tengo hecho:
- El primero... no queda fijado el select al seleccionarlo, siempre vuelve al primer registro de la tabla aunque la información del resto de campos de la tabla1 si cambia.
- El segundo... al intentar leer los registros de la segunda tabla me da un error (Data type mismatch in criteria expression.)
Este es el código que tengo (el campo común en ambas tablas es IdSalidas):

Código:
<form name=formulario>
 <p align="left"><strong>N&ordm; Salida:</strong>
 <select name=IdSalidas class="fc_main" onChange="location.href('vis_listas.asp?IdSalidas=' + formulario.IdSalidas.options[formulario.IdSalidas.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_salidas_STRING
 
SQL_insc="select * from salidas order by IdSalidas asc"
 
set RS_insc=createobject("ADODB.Recordset")
RS_insc.open SQL_insc,conn
do while not RS_insc.eof
 
IdSalidas = RS_insc("IdSalidas")
p = request.querystring("IdSalidas")
if p <> "" then
 
 if p = IdSalidas then
 response.write "<option value="&IdSalidas&"selected>"&IdSalidas&"</option>"
 
 elseif p <> IdSalidas then
 
 response.write "<option value="&IdSalidas&">"&IdSalidas&"</option>"
 end if
else
response.write "<option value="&IdSalidas&">"&IdSalidas&"</option>"
end if
    
RS_insc.movenext
 loop
RS_insc.close
%>
</select>
<%
if request.querystring("IdSalidas") <> "" then %>
     
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_salidas_STRING
   
SQL_dat="select * from salidas where IdSalidas="&request.querystring("IdSalidas")&" order by Fecha asc"
set RS_dat=createobject("ADODB.Recordset")
RS_dat.open SQL_dat,conn
do while not RS_dat.eof
 
IdSalidas = request.querystring("IdSalidas")
Fecha = RS_dat("Fecha")
Hora = RS_dat("Hora")
Destino = RS_dat("Destino")
Barco = RS_dat("Barco")
Incidencias = RS_dat("Incidencias")
%> 
  &nbsp;&nbsp;Fecha: 
       <input type="text" class="fc_main" value="<%=Fecha%>" size="15" readonly="true">
 &nbsp;&nbsp;Hora: 
       <input type="text" class="fc_main" value="<%=Hora%>" size="9" readonly="true">
  &nbsp;&nbsp;Lugar: 
       <input type="text" class="fc_main" value="<%=Destino%>" size="25" readonly="true">
  &nbsp;&nbsp;Barco:
       <input type="text" class="fc_main" value="<%=Barco%>" size="17" readonly="true"><br><br>
  <strong>Incidencias:</strong> 
       <input type="text" class="fc_main" value="<%=Incidencias%>" size="35" readonly="true">
</p>
<strong>Buceadores:</strong><br>
         
<%
SQL_buzos="select * from buzos_incl where IdSalidas="&request.querystring("IdSalidas")&" order by Socio asc"
set RS_buzos=createobject("ADODB.Recordset")
RS_buzos.open SQL_buzos,conn
do while not RS_buzos.eof
 
IdSalidas = request.querystring("IdSalidas")
Socio = RS_buzos("Socio")
Nombre = RS_buzos("Nombre")
DNI = RS_buzos("DNI")
TIT = RS_buzos("TIT")
%>
 
       <input type="text" class="fc_main" value="<%=Socio%>" size="8" readonly="true">
&nbsp;&nbsp;
       <input type="text" class="fc_main" value="<%=Nombre%>" size="50" readonly="true">
&nbsp;&nbsp;
       <input type="text" class="fc_main" value="<%=DNI%>" size="10" readonly="true">
&nbsp;&nbsp;
       <input type="text" class="fc_main" value="<%=TIT%>" size="20" readonly="true">
  
<%
RS_dat.movenext
 loop
RS_buzos.movenext
 loop
RS_dat.close
RS_buzos.close
%>
<% end if %>     
</form>
Muchas gracias de ante mano, espero que puedan ayudarme...
SaLu2

Última edición por Uefor; 06/06/2007 a las 16:39
  #2 (permalink)  
Antiguo 07/06/2007, 02:04
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

Yo lo haria asi (no lo he comprobado pero deberia funcionar)

Código:
<form name=formulario>
 <p align="left"><strong>N&ordm; Salida:</strong>
 <select name=IdSalidas class="fc_main" onChange="location.href('vis_listas.asp?IdSalidas=' + formulario.IdSalidas.options[formulario.IdSalidas.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_salidas_STRING

' DEFINICION DE VARIABLES
Dim RS_insc, SQL_insc, IdSalidas
' Para no forzar a la BD (buscar todos los campos, etc) ponemos
' solo los campos que nos interesan
SQL_insc="select idSalidas from salidas order by IdSalidas asc"
' Chequeamos la peticion GET
IdSalidas = request.querystring("IdSalidas")

set RS_insc=createobject("ADODB.Recordset")
RS_insc.open SQL_insc,conn

do while not RS_insc.eof
    response.write("<option value="""&IdSalidas & """")
     if IdSalidad = RS_inc("idSalidas") then response.Write(" selected")
    response.Write(">"&IdSalidas&"</option>")
    RS_insc.movenext
loop

RS_insc.close
set RS_insc = nothing
%>
</select>
<%
' Ya cogimos el dato antes
' Igual que la conexión. Basta con una por página / BD
if IdSalidas <> "" then %>
     
<%
    Dim RS_dat, RS_buzos
    Dim SQL_dat, SQL_buzos
    ' Aqui si queremos todos los campos. Supongo que IdSalidas
    ' es un campo con valor unico  
    SQL_dat="select * from salidas where IdSalidas="&IdSalidas&" order by Fecha asc"
    set RS_dat=createobject("ADODB.Recordset")
    
    RS_dat.open SQL_dat,conn
    if not RS_dat.eof then
    %> 
  &nbsp;&nbsp;Fecha: 
       <input type="text" class="fc_main" value="<%=RS_dat("Fecha")%>" size="15" readonly="true">
 &nbsp;&nbsp;Hora: 
       <input type="text" class="fc_main" value="<%=RS_dat("Hora")%>" size="9" readonly="true">
  &nbsp;&nbsp;Lugar: 
       <input type="text" class="fc_main" value="<%=RS_dat("Destino")%>" size="25" readonly="true">
  &nbsp;&nbsp;Barco:
       <input type="text" class="fc_main" value="<%=RS_dat("Barco")%>" size="17" readonly="true"><br><br>
  <strong>Incidencias:</strong> 
       <input type="text" class="fc_main" value="<%=RS_dat("Incidencias")%>" size="35" readonly="true">
</p>
<strong>Buceadores:</strong><br>
         
<%
        ' Aqui, sin embargo, si que va a devolvernos un array de datos
        SQL_buzos="select * from buzos_incl where IdSalidas="&IdSalidas&" order by Socio asc"
        set RS_buzos=createobject("ADODB.Recordset")
        RS_buzos.open SQL_buzos,conn
        do while not RS_buzos.eof
 
%>
 
       <input type="text" class="fc_main" value="<%=RS_buzos("Socio")%>" size="8" readonly="true">
&nbsp;&nbsp;
       <input type="text" class="fc_main" value="<%=RS_buzos("Nombre")%>" size="50" readonly="true">
&nbsp;&nbsp;
       <input type="text" class="fc_main" value="<%=RS_buzos("DNI")%>" size="10" readonly="true">
&nbsp;&nbsp;
       <input type="text" class="fc_main" value="<%=RS_buzos("TIT")%>" size="20" readonly="true">
       <br />
  
<%
            RS_buzos.movenext
        loop
        RS_buzos.close
        set RS_buzos = nothing
    end if

RS_dat.close

set RS_dat = nothing

%>
<% end if 

Conn.close()
Set Conn = nothing
%>     
</form>


Espero que te sirva



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 11/06/2007, 00:47
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Re: Consulta de dos tablas por registros (select depen)

Te agradezco tu ayuda tammander... pero debe haber algun error en el código porque el select no identifica registros (aparece en blanco) y el resto de campos en consecuencia tampoco aparecen.

Solo he conseguido encontrar esta errata
Código:
if IdSalidad = RS_inc("idSalidas")
¿Se te ocurre donde puede estar el problema en el código que has modificado?
  #4 (permalink)  
Antiguo 11/06/2007, 02:10
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

Pues no veo por donde puede ir el error. Chequea si viene vacio el recordset. Cambia esto:

Código:
set RS_insc=createobject("ADODB.Recordset")
RS_insc.open SQL_insc,conn

do while not RS_insc.eof
    response.write("<option value="""&IdSalidas & """")
     if IdSalidad = RS_inc("idSalidas") then response.Write(" selected")
    response.Write(">"&IdSalidas&"</option>")
    RS_insc.movenext
loop
Por esto:

Código:
set RS_insc=createobject("ADODB.Recordset")
set RS_insc = Conn.execute(SQL_insc)

if RS_insc.EOF then
     response.write("<option value=="""">--No hay datos--</option>")
else
do while not RS_insc.eof
    response.write("<option value="""&IdSalidas & """")
     if IdSalidad = RS_inc("idSalidas") then response.Write(" selected")
    response.Write(">"&IdSalidas&"</option>")
    RS_insc.movenext
loop
end if

A ver si vemos el error

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #5 (permalink)  
Antiguo 12/06/2007, 00:47
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Busqueda Re: Consulta de dos tablas por registros (select depen)

Pues sigue sin devolverme datos...
Ahora mismo tengo asi el select:
Código:
<select name=IdSalidas class="fc_main" onChange="location.href('vis_listas.asp?IdSalidas=' + formulario.IdSalidas.options[formulario.IdSalidas.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_salidas_STRING

Dim RS_insc, SQL_insc, IdSalidas

SQL_insc="select IdSalidas from salidas order by IdSalidas asc"
IdSalidas = request.querystring("IdSalidas")
set RS_insc = createobject("ADODB.Recordset")
set RS_insc = Conn.execute(SQL_insc)

if RS_insc.EOF then
     response.write("<option value=="""">--No hay datos--</option>")
else
do while not RS_insc.eof
    response.write("<option value="""&IdSalidas & """")
     if IdSalidad = RS_insc("IdSalidas") then response.Write(" selected")
    response.Write(">"&IdSalidas&"</option>")
    RS_insc.movenext
    loop
    end if

    RS_insc.close
    set RS_insc = nothing
%>
</select>
  #6 (permalink)  
Antiguo 12/06/2007, 02:18
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

¿Y te muestra la opción de "--No hay datos--"? ¿Qué Base de Datos usas?
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #7 (permalink)  
Antiguo 12/06/2007, 12:50
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

Cita:
¿Y te muestra la opción de "--No hay datos--"? ¿Qué Base de Datos usas?
No muestra nada, aparece el desplegable vacio y es una db access.
SaLu2
  #8 (permalink)  
Antiguo 12/06/2007, 15:23
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
Re: Consulta de dos tablas por registros (select depen)

Cosa de poner más atención


Cita:
Iniciado por Uefor Ver Mensaje
Pues sigue sin devolverme datos...
Ahora mismo tengo asi el select:
Código:
<select name=IdSalidas class="fc_main" onChange="location.href('vis_listas.asp?IdSalidas=' + formulario.IdSalidas.options[formulario.IdSalidas.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_salidas_STRING

Dim RS_insc, SQL_insc, IdSalidas

SQL_insc="select IdSalidas from salidas order by IdSalidas asc"
IdSalidas = request.querystring("IdSalidas")
set RS_insc = createobject("ADODB.Recordset")
set RS_insc = Conn.execute(SQL_insc)

if RS_insc.EOF then
     response.write("<option value=="""">--No hay datos--</option>")
else
do while not RS_insc.eof
    response.write("<option value="""&IdSalidas & """")
     if IdSalidad = RS_insc("IdSalidas") then response.Write(" selected")
    response.Write(">"&IdSalidas&"</option>")
    RS_insc.movenext
    loop
    end if

    RS_insc.close
    set RS_insc = nothing
%>
</select>
Supongo que en el select querías poner RS_insc("IdSalidas") o algo del recordSet. Puedes comprobar que si iteró el recordSet al ver el código fuente HTML generado y enviado al browser

Saludos
  #9 (permalink)  
Antiguo 13/06/2007, 00:35
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

Cita:
Iniciado por Myakire Ver Mensaje
Supongo que en el select querías poner RS_insc("IdSalidas") o algo del recordSet. Puedes comprobar que si iteró el recordSet al ver el código fuente HTML generado y enviado al browser
Perdona Myakire pero no capto lo que me preguntas con eso de "iteró", deben ser los matices da la distancia ya sabes.
Te puedo decir que he hecho pruebas solo con el formulario que he posteado arriba completo quitando adornos y demás código, pero hace lo mismo.

Por otro lado la idea es esa efectivamente, el IdSalidas es el número de salida de buceo y valor único que quiero usar para el select e identificar el resto de campos.

Los campos son por un lado los datos de la salida que están en la misma tabla de IdSalidas... fecha, hora, lugar etc. y por otro los buzos que se apuntan con sus correspondientes datos... titulación, número de socio, DNI, etc. que están en una segunda tabla.

SaLu2

Última edición por Uefor; 13/06/2007 a las 00:45
  #10 (permalink)  
Antiguo 13/06/2007, 01:14
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

Hola Uefor,

Creo que el problema está en la iteración (dentro de la instrucción do...loop). Problemas del copy-pasty

Código:
do while not RS_insc.eof
    response.write("<option value="""&IdSalidas & """")
     if IdSalidad = RS_insc("IdSalidas") then response.Write(" selected")
    response.Write(">"&IdSalidas&"</option>")
    RS_insc.movenext
loop

Por esto

Código:
do while not RS_insc.eof
    response.write("<option value="""&RS_insc("IdSalidas")&"""")
     if IdSalidas = RS_insc("IdSalidas") then response.Write(" selected")
    response.Write(">"&RS_insc("IdSalidas")&"</option>")
    RS_insc.movenext
    loop
Prueba y nos cuentas


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #11 (permalink)  
Antiguo 13/06/2007, 06:58
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Re: Consulta de dos tablas por registros (select depen)

Pues en cierto modo si que había un error en ese detalle, pero el problema inicial no se ha resuelto, digamos que volvemos al punto de partida:
Cita:
Iniciado por Uefor Ver Mensaje
El caso es que me surgen dos problemas con lo que tengo hecho:
- El primero... no queda fijado el select al seleccionarlo, siempre vuelve al primer registro de la tabla aunque la información del resto de campos de la tabla1 si cambia.
- El segundo... al intentar leer los registros de la segunda tabla me da un error (Data type mismatch in criteria expression.)
Y me devuelve un error al intentar hacer la última consulta
Código:
RS_buzos.open SQL_buzos,conn
Seguro que debe ser una tontería y no termino de verlo

Ejem: [IMG]webs.ono.com/uefor/imagenes/salidas.jpg[/IMG]
Ponerle vosotros el http porque no me dejan poner enlaces aun. Siempre queda fijado el 51 seleccionemos el que sea porque es el primer registro que hay en la tabla actualmente.

Última edición por Uefor; 13/06/2007 a las 07:20
  #12 (permalink)  
Antiguo 13/06/2007, 08:09
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

Cita:
Iniciado por Uefor Ver Mensaje
Hola a tod@s
- El primero... no queda fijado el select al seleccionarlo, siempre vuelve al primer registro de la tabla aunque la información del resto de campos de la tabla1 si cambia.
Eso es debido a que IdSalidas viene vacio o con valores que no se corresponden con los valores del campo. Chequea qué devuelve idSalidas en el evento onChange del select.

en esta línea :

if IdSalidas = RS_insc("IdSalidas") then response.Write(" selected")

si no se corresponden nunca podrá seleccionar el valor correspondiente.


Cita:
Iniciado por Uefor Ver Mensaje
Hola a tod@s
- El segundo... al intentar leer los registros de la segunda tabla me da un error (Data type mismatch in criteria expression.)
Me remito a la solicitud anterior. Esta claro que request.QueryString("IdSalidas") no devuelve lo que debe devolver. Cuando descubras eso, todo se resolverá. Si no sabes que hacer, pon en producción la página y dejanos ver como actua ese evento de JavaScript.



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #13 (permalink)  
Antiguo 13/06/2007, 10:00
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
Re: Consulta de dos tablas por registros (select depen)

Cierto, sería bueno ver como te ha quedado ese código, ya que ha cambiado algo desde el último copy-paste

PD.
Cita:
Ver conjugación iterar.

(Del lat. iterāre).

1. tr. repetir.
En la jerga informática (mexicana por lo menos, no se en otros lados ) se usa para referirse a los ciclos.

PD2:

Cita:
jerga.

(Der. regres., seguramente a través del prov., del fr. jargon, y este onomat.).

1. f. Lenguaje especial y familiar que usan entre sí los individuos de ciertas profesiones y oficios, como los toreros, los estudiantes, etc.
  #14 (permalink)  
Antiguo 13/06/2007, 11:51
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

El caso es que me sonaba la expresión , es lo mismo que reiterar pero sin re ...

El código del formulario ahora mismo lo tenemos así:
Código:
<form name=formulario>
 <p align="left"><strong>N&ordm; Salida:</strong>

<select name=IdSalidas class="fc_main" onChange="location.href('vis_listas2.asp?IdSalidas=' + formulario.IdSalidas.options[formulario.IdSalidas.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_salidas_STRING

Dim RS_insc, SQL_insc, IdSalidas

SQL_insc="select IdSalidas from salidas order by IdSalidas asc"
IdSalidas = request.querystring("IdSalidas")
set RS_insc = createobject("ADODB.Recordset")
set RS_insc = Conn.execute(SQL_insc)

if RS_insc.EOF then
     response.write("<option value=="""">-- No hay datos --</option>")
else
do while not RS_insc.eof
    response.write("<option value="""&RS_insc("IdSalidas")&"""")
     if IdSalidas = RS_insc("IdSalidas") then response.Write(" selected")
    response.Write(">"&RS_insc("IdSalidas")&"</option>")
    RS_insc.movenext
    loop
    end if

    RS_insc.close
    set RS_insc = nothing
%>
</select>
<%
    if IdSalidas <> "" then %>
     
<%  Dim RS_dat, RS_buzos
    Dim SQL_dat, SQL_buzos
 
    SQL_dat="select * from salidas where IdSalidas="&IdSalidas&" order by Fecha asc"
    set RS_dat=createobject("ADODB.Recordset")
    RS_dat.open SQL_dat,conn
    if not RS_dat.eof then    
%> 

  
  &nbsp;&nbsp;Fecha: 
      <input type="text" class="fc_main" value="<%=RS_dat("Fecha")%>" size="15" readonly="true">
  &nbsp;&nbsp;Hora: 
      <input type="text" class="fc_main" value="<%=RS_dat("Hora")%>" size="11" readonly="true">
  &nbsp;&nbsp;Lugar: 
      <input type="text" class="fc_main" value="<%=RS_dat("Destino")%>" size="25" readonly="true">
  &nbsp;&nbsp;Barco:
      <input type="text" class="fc_main" value="<%=RS_dat("Barco")%>" size="17" readonly="true"><br><br>
  <strong>Incidencias:</strong> 
      <input type="text" class="fc_main" value="<%=RS_dat("Incidencias")%>" size="35" readonly="true">
</p>

<%  end if
RS_dat.close
set RS_dat = nothing
%>

<strong>Buceadores:</strong><br>
  
<%        SQL_buzos="select * from buzos_incl where IdSalidas="&IdSalidas&" order by Socio asc"
        set RS_buzos=createobject("ADODB.Recordset")
        RS_buzos.open SQL_buzos,conn
        do while not RS_buzos.eof   %>
 
      <input type="text" class="fc_main" value="<%=RS_buzos("Socio")%>" size="8" readonly="true">
&nbsp;&nbsp;
      <input type="text" class="fc_main" value="<%=RS_buzos("Nombre")%>" size="50" readonly="true">
&nbsp;&nbsp;
      <input type="text" class="fc_main" value="<%=RS_buzos("DNI")%>" size="10" readonly="true">
&nbsp;&nbsp;
      <input type="text" class="fc_main" value="<%=RS_buzos("TIT")%>" size="20" readonly="true">
       <br />
  
<%
    RS_buzos.movenext
    loop
    RS_buzos.close
    set RS_buzos = nothing
%>
<% end if 
Conn.close()
Set Conn = nothing
%>     
</form>
  #15 (permalink)  
Antiguo 13/06/2007, 12: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
Re: Consulta de dos tablas por registros (select depen)

Aunque se que es posible, pero ..... no te falta el End If?

Me gustaría que corrieras la página y revisaras el código HTML (botón derecho-> ver código) y me dijeras como se formó el Select
  #16 (permalink)  
Antiguo 13/06/2007, 12:48
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

Si también me di cuenta en este último copy-paste.... así quedó el HTML con error incluido:
Código:
<html>
<head>
<title>Listados de salidas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<style TYPE="TEXT/CSS">

<!--

.link1 {  font-family: Georgia, Times New Roman, Times, serif; font-size: 11px; color: #004250; line-height: 15pt}

a {  text-decoration: none}
body {scrollbar-base-color:#339999;
color:#004250;
background-color:#339999;
font-family:Georgia, Times New Roman, Times, serif;
font-size:12px}
/* End of style section. */
-->
</style>
<style>
.fc_main {
	background: #DDDDDD;
	border: 1px solid #000000;
	font-family: Verdana;
	font-size: 10px;
}
.fc_date { border: 1px solid #D9D9D9;  cursor:pointer; font-size: 10px; text-align: center;}
.fc_dateHover, TD.fc_date:hover { cursor:pointer; border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF; border-right: 1px solid #999999; border-bottom: 1px solid #999999; background: #E7E7E7; font-size: 10px; text-align: center; }
.fc_wk {font-family: Verdana; font-size: 10px; text-align: center;}
.fc_wknd { color: #FF0000; font-weight: bold; font-size: 10px; text-align: center;}
.fc_head { background: #000066; color: #FFFFFF; font-weight:bold; text-align: left;  font-size: 11px; }
</style>
<link rel="stylesheet" href="estilo1.asp" type="text/css">


  </tr>
</table>
<form name=formulario>
 <p align="left"><strong>N&ordm; Salida:</strong>

<select name=IdSalidas class="fc_main" onChange="location.href('vis_listas2.asp?IdSalidas=' + formulario.IdSalidas.options[formulario.IdSalidas.selectedIndex].value)">
<option value="51">51</option><option value="55">55</option><option value="56">56</option><option value="59">59</option>
</select>
 

  
  &nbsp;&nbsp;Fecha: 
      <input type="text" class="fc_main" value="09/06/2007" size="15" readonly="true">
  &nbsp;&nbsp;Hora: 
      <input type="text" class="fc_main" value="9:00:00" size="11" readonly="true">
  &nbsp;&nbsp;Lugar: 
      <input type="text" class="fc_main" value="Bajo de Fuera" size="25" readonly="true">
  &nbsp;&nbsp;Barco:
      <input type="text" class="fc_main" value="Dimitris" size="17" readonly="true"><br><br>
  <strong>Incidencias:</strong> 
      <input type="text" class="fc_main" value="Cerrada, presentada en MAPA" size="35" readonly="true">
</p>

<strong>Buceadores:</strong><br>
  
 <font face="Arial" size=2>
<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80040e07'</font>
<p>
<font face="Arial" size=2>[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.</font>
<p>
<font face="Arial" size=2>/zona_socios/vis_listas2.asp</font><font face="Arial" size=2>, line 105</font>
Muchas gracias por vuestro interes en este tema

Última edición por Uefor; 13/06/2007 a las 13:15
  #17 (permalink)  
Antiguo 13/06/2007, 13:34
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

¿Podrias poner lo que sale en el cuadro de dirección del navegador (la llamada GET que haces)?

algo como esto:

http://www.tusitio.com/vis_listas2.asp?IdSalidas=XXX

que sale en el XXX? algo? nada?


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #18 (permalink)  
Antiguo 13/06/2007, 16:04
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

Según el registro que seleccione si que lo identifica en el navegador, en este caso he pulsado el 59 y se ve así:

clubcimas.com/zona_socios/vis_listas2.asp?IdSalidas=59

(como no tengo el mínimo de mensajes requerido no puedo poner el enlace completo y he quitado las W´s etc.)
SaLu2
  #19 (permalink)  
Antiguo 14/06/2007, 01:16
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

mmmm Seguimos con el prueba-error :)

Ahora, vamos a ver que nos trae el querystring. Pon entre la linea

SQL_buzos="select * from buzos_incl where IdSalidas="&IdSalidas&" order by Socio asc"

y

set RS_buzos=createobject("ADODB.Recordset")
RS_buzos.open SQL_buzos,conn


esto:

response.write(SQL_buzos)
response.end()

Tiene que quedar asi:

Código:
SQL_buzos="select * from buzos_incl where IdSalidas="&IdSalidas&" order by Socio asc"

 response.write(SQL_buzos)
 response.end()
 
 set RS_buzos=createobject("ADODB.Recordset")
 RS_buzos.open SQL_buzos,conn

NOTA: Fijate en como vamos comprobando las lineas de codigo. Desgraciadamente no disponemos de step-by-step tipico de los entornos de desarrollo de aplicaciones de consola pero nos apañamos ;) El método de prueba-error es ideal ante situaciones inesperadas, cuando parece que todo esta bien pero el sistema nos muestra error (como este caso).



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #20 (permalink)  
Antiguo 14/06/2007, 04:53
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Re: Consulta de dos tablas por registros (select depen)

Ahora nos dice esto:
Código:
select * from buzos_incl where IdSalidas=59 order by Socio asc
He verificado en la tabla que hay registros incluidos en las 4 salidas (51, 55, 56 y 59) para evitar errores con la consulta.
  #21 (permalink)  
Antiguo 14/06/2007, 05:27
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

El campo IdSalidas de la tabla buzos_incl, ¿de que tipo es? ¿Numérico? ¿texto?

Y otra cosa:

Intenta esa sentencia. Sin ordenar:

Código:
SQL_buzos="select * from buzos_incl where IdSalidas="&IdSalidas

' response.write(SQL_buzos)
' response.end()
 
 set RS_buzos=createobject("ADODB.Recordset")
 RS_buzos.open SQL_buzos,conn
Y, antes de que se me olvide:

- Data type mismatch in criteria expression (español)
- Data type mismatch in criteria expression (Microsoft - inglés)

(como ves, es muy posible que el fallo no esté en los datos que damos, sino en los que recibimos. Chequea si tienes un campo de fecha en la tabla buzos_incl y en qué formato lo tienes)



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #22 (permalink)  
Antiguo 14/06/2007, 06:07
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

En principio el campo IdSalidas de esa tabla debería ser numérico, pero acabo de darme cuenta que esta como tipo texto, en cualquier caso lo he modificado, pero no ha habido cambios respecto al tema que nos ocupa.

Respecto a los campos que hay además del Autonumérico tengo 2 numéricos y tres de texto (ahora, antes eran 5 de texto) más un campo Si/No, los campo de fecha y hora está en la otra tabla que si devuelve los datos correctos.

SaLu2
PD - Tampoco a habido cambios quitando el orden de los registros
  #23 (permalink)  
Antiguo 14/06/2007, 06:15
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

¿quieres decir que ese campo (idSalidas) es ahora numérico? Deben ser del mismo tipo en ambas tablas. Fijate bien.

Si tienes la base de datos en tu ordenador, abre el Access y haz una consulta nueva-->SQL. Copia la ultima sentencia que te di y pegala allí.

(que error mas rebelde :P )


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #24 (permalink)  
Antiguo 14/06/2007, 07:13
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

Al fin di con la tecla de porque no me devolvía los datos de la segunda tabla, faltaba identificar los campos con los registros al ver la sentencia y darle vueltas a la inserción de los datos lo vi :
Código:
Socio = RS_buzos("Socio")
idBuzo = RS_buzos("idBuzo")
DNI = RS_buzos("DNI")
TIT = RS_buzos("TIT")
Cosas del directo...
Aun así, queda un pequeño problema por resolver, el tema del select, siempre queda reflejado el primer registro

Alguna idea de lo que puede ser ?¿
SaLu2
  #25 (permalink)  
Antiguo 14/06/2007, 07:20
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Consulta de dos tablas por registros (select depen)

ufff, por fin, chico. Ha sido peor que un parto :D ¿Y del error? ¿Ya no sale?

Sobre lo segundo me imagino que es algo como esto:

if isNumeric(IdSalidas) then
if CLng(IdSalidas) = CLng(RS_insc("IdSalidas")) then response.Write(" selected")
end if

Supongo que sabes ya donde tiene que ir.
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #26 (permalink)  
Antiguo 14/06/2007, 07:37
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Consulta de dos tablas por registros (select depen)

Nada de errrores

Edito: colocado y funcionando ese último codigo... muchas gracias por todo, a sido muy valiosa tu ayuda (vuestra).

SaLu2
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:58.