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

Es correcta esta manera de utilizar INNER en access?

Estas en el tema de Es correcta esta manera de utilizar INNER en access? en el foro de ASP Clásico en Foros del Web. Pregunto debido a que este código se encontraba funcionando en ASP trabajando con SQL Server, pero al migrar hacia ASP con Ms Access, esta consulta ...
  #1 (permalink)  
Antiguo 01/06/2005, 04:19
 
Fecha de Ingreso: mayo-2005
Ubicación: Santiago
Mensajes: 10
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Es correcta esta manera de utilizar INNER en access?

Pregunto debido a que este código se encontraba funcionando en ASP trabajando con SQL Server, pero al migrar hacia ASP con Ms Access, esta consulta no me funciona. Favor alguien me puede ayudar... gracias

Aquí está el código:

************************************************** *****
Clave_Tabla=0 'NOS INDICA SI YA SE ANEXO LA TABLA CORRESPONDIENTE.
if Request.Form("SEL_SUP_INSTITUCION")<>"" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Tablas=Tablas & "INNER JOIN " &_
"EST_SUPERIORES ON " &_
"POSTULANTE.POST_RUT = EST_SUPERIORES.ESUP_POST_RUT " &_
"INNER JOIN " &_
"INSTITUCION_SUPERIOR ON " &_
"EST_SUPERIORES.ESUP_NUMERO = INSTITUCION_SUPERIOR.INSU_ESUP_NUMERO " &_
"AND " &_
"EST_SUPERIORES.ESUP_POST_RUT = INSTITUCION_SUPERIOR.INSU_ESUP_POST_RUT "

Clave_Tabla=1
if StrComp(Trim(Request.Form("SEL_SUP_INSTITUCION")), "OTRA UNIVERSIDAD")=0 or StrComp(Trim(Request.Form("SEL_SUP_INSTITUCION")), "OTRA UNIVERSIDAD")=0 then
Condiciones=Condiciones & "(INSTITUCION_SUPERIOR.INSU_NOMBRE_OTRO='" &_
Request.Form("TEX_SUP_INSTITUCION") & "') "
Clave_Condi=1
else
Condiciones=Condiciones & "(INSTITUCION_SUPERIOR.INSU_INST_NOMBRE='" &_
Request.Form("SEL_SUP_INSTITUCION") & "') "
Clave_Condi=1
end if
end if
  #2 (permalink)  
Antiguo 01/06/2005, 05:30
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
pon aqui cómo quedaría la sentencia completa, a la espera de que venga la y mueva el mensaje a donde debe estar, al foro de bases de datos.
  #3 (permalink)  
Antiguo 01/06/2005, 06:00
 
Fecha de Ingreso: mayo-2005
Ubicación: Santiago
Mensajes: 10
Antigüedad: 19 años, 1 mes
Puntos: 0
La sentencia completa es bastante larga, asi que te muestro desde el inicio hasta los campos en donde me falla, los que son EDAD_DESDE, EDAD_HASTA, SEL_SUP_PROFESION, SEL_SUP_INSTITUCION:

************************************************** *****

if Request.QueryString("SQL_REG")="" then
SQL="SELECT DISTINCT " &_
"POSTULANTE.POST_RUT,POSTULANTE.POST_DV," &_
"POSTULANTE.POST_NOMBRES," &_
"POSTULANTE.POST_APEL_PATE," &_
"POSTULANTE.POST_APEL_MATE," &_
"POSTULANTE.POST_FECH_NACI "
Tablas="FROM POSTULANTE " 'TABLAS INVOLUCRADAS EN LA CONSULTA.
Condiciones="WHERE " 'CONDICIONES DE LA CONSULTA
Orden=" ORDER BY POSTULANTE.POST_APEL_PATE, " &_
"POSTULANTE.POST_APEL_MATE, POSTULANTE.POST_NOMBRES"
'SE ORDENA EL RESULTADO POR TRES CRITERIOS,
'APELLIDO PATERNO, APELLIDO MATERNO, Y NOMBRES.
Clave_Condi=0 ' INDICA SI HAY CONDICIONES PARA LA CONSULTA.
if Request.Form("POST_NOMBRES")<>"" then
Condiciones=Condiciones & "(POSTULANTE.POST_NOMBRES LIKE '%" &_
Request.Form("POST_NOMBRES") & "%') "
Clave_Condi=1
end if

if Request.Form("POST_APEL_PATE")<>"" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Condiciones=Condiciones & "(POSTULANTE.POST_APEL_PATE LIKE '%" &_
Request.Form("POST_APEL_PATE") & "%') "
Clave_Condi=1
end if

if Request.Form("POST_APEL_MATE")<>"" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Condiciones=Condiciones & "(POSTULANTE.POST_APEL_MATE LIKE '%" &_
Request.Form("POST_APEL_MATE") & "%') "
Clave_Condi=1
end if

if Request.Form("EDAD_DESDE")<>"" then
Anno=Year(Now())-cInt(Request.Form("EDAD_DESDE"))
Fecha="1-1-" & Anno
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Condiciones=Condiciones & "(POSTULANTE.POST_FECH_NACI<'" &_
Fecha & "') "
Clave_Condi=1
end if

if Request.Form("EDAD_HASTA")<>"" then
Anno=Year(Now())-cInt(Request.Form("EDAD_HASTA"))
Fecha="1-1-" & Anno
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Condiciones=Condiciones & "(POSTULANTE.POST_FECH_NACI>'" &_
Fecha & "') "
Clave_Condi=1
end if

if Request.Form("POST_REGION")<>"0" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Condiciones=Condiciones & "(POSTULANTE.POST_REGI_NUMERO=" &_
cInt(Request.Form("POST_REGION")) & ") "
Clave_Condi=1
end if

Clave_Tabla=0 'NOS INDICA SI YA SE ANEXO LA TABLA CORRESPONDIENTE.
if Request.Form("SEL_SUP_INSTITUCION")<>"" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Tablas=Tablas & "INNER JOIN " &_
"EST_SUPERIORES ON " &_
"POSTULANTE.POST_RUT = EST_SUPERIORES.ESUP_POST_RUT " &_
"INNER JOIN " &_
"INSTITUCION_SUPERIOR ON " &_
"EST_SUPERIORES.ESUP_NUMERO =

INSTITUCION_SUPERIOR.INSU_ESUP_NUMERO " &_
"AND " &_
"EST_SUPERIORES.ESUP_POST_RUT =

INSTITUCION_SUPERIOR.INSU_ESUP_POST_RUT "

Clave_Tabla=1
if StrComp(Trim(Request.Form("SEL_SUP_INSTITUCION")), "OTRA UNIVERSIDAD")=0 or

StrComp(Trim(Request.Form("SEL_SUP_INSTITUCION")), "OTRA UNIVERSIDAD")=0 then
Condiciones=Condiciones & "(INSTITUCION_SUPERIOR.INSU_NOMBRE_OTRO='" &_
Request.Form("TEX_SUP_INSTITUCION") & "') "
Clave_Condi=1
else
Condiciones=Condiciones & "(INSTITUCION_SUPERIOR.INSU_INST_NOMBRE='" &_
Request.Form("SEL_SUP_INSTITUCION") & "') "
Clave_Condi=1
end if
end if

if Request.Form("SEL_SUP_PROFESION")<>"" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
if Clave_Tabla=0 then
Tablas=Tablas & "INNER JOIN " &_
"EST_SUPERIORES ON " &_
"POSTULANTE.POST_RUT = EST_SUPERIORES.ESUP_POST_RUT " &_
"INNER JOIN " &_
"PROFESION_SUPERIOR ON " &_
"EST_SUPERIORES.ESUP_NUMERO =

PROFESION_SUPERIOR.PRSU_ESUP_NUMERO " &_
"AND " &_
"EST_SUPERIORES.ESUP_POST_RUT =

PROFESION_SUPERIOR.PRSU_ESUP_POST_RUT "
else
Tablas=Tablas & "INNER JOIN " &_
"PROFESION_SUPERIOR ON " &_
"EST_SUPERIORES.ESUP_NUMERO =

PROFESION_SUPERIOR.PRSU_ESUP_NUMERO " &_
"AND " &_
"EST_SUPERIORES.ESUP_POST_RUT =

PROFESION_SUPERIOR.PRSU_ESUP_POST_RUT "
end if
if StrComp(Trim(Request.Form("SEL_SUP_PROFESION")),"O TRA PROFESIÓN")=0 then
Condiciones=Condiciones & "( PROFESION_SUPERIOR.PRSU_NOMBRE_OTRO='" &_
Request.Form("TEX_SUP_PROFESION") & "') "
Clave_Condi=1
else
Condiciones=Condiciones & "(PROFESION_SUPERIOR.PRSU_PROF_NOMBRE='" &_
Request.Form("SEL_SUP_PROFESION") & "') "
Clave_Condi=1
end if
end if

****************************************
y para abajo sigue con otros if que siguen conformando la consulta.., si me puedes ayudar sería grandioso ya que esto me tiene pegado hace rato...
  #4 (permalink)  
Antiguo 01/06/2005, 07:09
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
no, decía la sentencia SQL
  #5 (permalink)  
Antiguo 01/06/2005, 07:29
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
La sentencia SQL no puede ser más larga que todo lo que acabas de postear
  #6 (permalink)  
Antiguo 01/06/2005, 07:40
 
Fecha de Ingreso: mayo-2005
Ubicación: Santiago
Mensajes: 10
Antigüedad: 19 años, 1 mes
Puntos: 0
Cita:
Iniciado por trasgukabi
no, decía la sentencia SQL

Envíame un mansaje a la cuenta [email protected], y te lo devuelvo con la rutina completa, ya que tiene varias sentencias anidadas y es dificil, por lo menos para mi, el separar una sola sentencia SQL... de anyemano gracias por tu apoyo e interes...
  #7 (permalink)  
Antiguo 01/06/2005, 08:22
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
Si usas inner join de mas de 2 tablas debes de agruparlas entre ()
Por ejemplo selelect tabla1.campo3,tabla3.campo1,tabla3.campo3 from (tabla1 inner join tabla2 on(tabla1.campo1=tabla2.campo1)) inner join tabla3 on(tabla3.campo1=tabla2.campo1)
  #8 (permalink)  
Antiguo 01/06/2005, 08:59
 
Fecha de Ingreso: mayo-2005
Ubicación: Santiago
Mensajes: 10
Antigüedad: 19 años, 1 mes
Puntos: 0
Lo puse asi y tampoco me funciona:

*************************************
Clave_Tabla=0 'NOS INDICA SI YA SE ANEXO LA TABLA CORRESPONDIENTE.
if Request.Form("SEL_SUP_INSTITUCION")<>"" then
if Clave_Condi=1 then
Condiciones=Condiciones & "AND "
end if
Tablas=Tablas & "INNER JOIN " &_
"EST_SUPERIORES ON " &_
"(POSTULANTE.POST_RUT = EST_SUPERIORES.ESUP_POST_RUT) " &_
"INNER JOIN " &_
"INSTITUCION_SUPERIOR ON " &_
"(EST_SUPERIORES.ESUP_NUMERO =

INSTITUCION_SUPERIOR.INSU_ESUP_NUMERO) " &_
"AND " &_
"(EST_SUPERIORES.ESUP_POST_RUT =

INSTITUCION_SUPERIOR.INSU_ESUP_POST_RUT) "

Clave_Tabla=1
if StrComp(Trim(Request.Form("SEL_SUP_INSTITUCION")), "OTRA UNIVERSIDAD")=0 or

StrComp(Trim(Request.Form("SEL_SUP_INSTITUCION")), "OTRA UNIVERSIDAD")=0 then
Condiciones=Condiciones & "(INSTITUCION_SUPERIOR.INSU_NOMBRE_OTRO='" &_
Request.Form("TEX_SUP_INSTITUCION") & "') "
Clave_Condi=1
else
Condiciones=Condiciones & "(INSTITUCION_SUPERIOR.INSU_INST_NOMBRE='" &_
Request.Form("SEL_SUP_INSTITUCION") & "') "
Clave_Condi=1
end if
end if

***********************************
que error estoy cometiendo...
  #9 (permalink)  
Antiguo 01/06/2005, 17:47
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
no, por email definitivamente no. postea aquí la consulta que finalmente le mandas a access. (ya sabes....response.write consulta, etc...)
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 12:34.