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

Problema Con Ultradev Asp 2 Tablas

Estas en el tema de Problema Con Ultradev Asp 2 Tablas en el foro de ASP Clásico en Foros del Web. Hola!! Les quiero comentar mi inquietud que tengo!! Hasta ahora pude resolver algo de lo q tenía dudas, pero hay una parte q todavía no ...
  #1 (permalink)  
Antiguo 07/03/2003, 09:39
 
Fecha de Ingreso: febrero-2003
Ubicación: Argentina
Mensajes: 40
Antigüedad: 22 años, 2 meses
Puntos: 0
Problema Con Ultradev Asp 2 Tablas

Hola!!
Les quiero comentar mi inquietud que tengo!!
Hasta ahora pude resolver algo de lo q tenía dudas, pero hay una parte q todavía no logro solucionar.
Al final pude hacer q el menú funcione como quería, osea yo tengo este menú

Papas
Cebollas
Manzana
Ajo
Perejil

lo q quería hacer era q cada link me comunique a una página detalle( yo lo habia hecho ya a esto pero para otras cosas desde un form, no para un menú, por eso mi duda) de ese rubro. La página detalle para todos los rubros se llama rubro.asp , entonces lo q yo quería era esto:

rubro.asp?id=papas
rubro.asp?id=cebollas
rubro.asp?id=manzana
etctetetctet

Como trabajo con ultradev , soy novato en lo q es ASP, me guio mucho por Ultradev!!, a esto lo logré con el juego de registros de mi BD(Access), aplicando región repetida y llendo a pág detalle donde paso el id de c/rubro y conecta con rubro.asp donde quiero mostrar info de ese rubro(osea el elegido segun click en el menú).

Hasta ahí todo OK!!! esa BD la tengo así:

TABLA RUBROS
ID RUBRO
1 Papas
2 Cebollas
3 Manzana
4 Ajo
5 Perejil

en la página rubro.asp muestro arriba el nombre de rubro obviamente usando la mismo juego de registro consulta de la misma tabla de esa bd, me aparece por ejemplo para el 1er id Papas.

LO QUE YO QUIERO HACER Y NO SE COMO, es mostrar en esa página (rubro.asp) otros registros q se incluyen en c/u de los rubros pero a esos registros los tengo en otra tabla de la misma BD.
La otra table es así:

TABLA PROVEEDORES
ID NOMBRE DIRECCION TELEFONO RUBRO
1 juan paz 342 3394834 Papas
2 carlos torres 323 340394 Cebollas
3 ana pater 3432 454834 Papas
4 juan we 342 394534 Ajo
y asi con mas registros......

Quiero hacer una relación entre las tablas de manera q pueda sacar los registro de la tabla proveedores e incluirlos en la tabla RUBROS , porq quiero mostrar en la página rubro.asp la info del rubro elegido segun el 1er paso,COMO TENGO Q HACER SE PUEDE HACER ESTO???
porq teóricamente la página detalle puede mostrar un sólo registro......
debido a q en la tabla RUBROS no puedo poner datos como si fueran subregistros me parece q hay q hacer una consulta , pero ni idea como se hace eso!!

No se si me entiendeN????
me podrian ayudaR???

un ejemplo bien concreo está www.fiestasinolvidables.com

por ejem vayan a 15 años y despues eligan en el menú de la izq un rubro y le tira a una página detalle !!!

pero no me hago idea de como armar la BD así , TB de manera q me muestren unas características de un registro y otras a la misma vez de otro registro en la misma página!!

osea q para 1 registro me muestre la foto con los datos y para otro registro sólo los datos!!!

BUENO DESDE YA EL Q ME PUEDA AYUDAR !!! LE ESTOY AGRADECIENDO!!!
ESPERO HABER SIDO CLARO!!

SALUDOS!!!!


Primero que nada tus links deberían ser así

rubros.asp?id=1

TABLA RUBROS
ID RUBRO
1 Papas
2 Cebollas
3 Manzana
4 Ajo
5 Perejil

TABLA PROVEEDORES
ID NOMBRE DIRECCION TELEFONO RUBRO
1 juan paz 342 3394834 1
2 carlos torres 323 340394 2
3 ana pater 3432 454834 3
4 juan we 342 394534 4
y asi con mas registros......


Y la SQL

SQL="SELECT * FROM PROVEEDORES, RUBROS WHERE RUBROS.ID=PROVEEDORES.RUBRO AND RUBRO="&Request.QueryString("id")

Saludos

Está muy bien , pero q pasa con la columna q se repite el rubro , el id no se va a interferir con el de la otra tabla?
la sql q me diste evita eso? o como seria?

TABLA RUBROS
ID RUBRO
1 Papas
2 Cebollas
3 Manzana
4 Ajo
5 Perejil

TABLA PROVEEDORES
ID NOMBRE DIRECCION TELEFONO RUBRO
1 juan paz 342 3394834 1 Papas
2 carlos torres 323 340394 2 Papas
3 ana pater 3432 454834 3 Papas
4 juan we 342 394534 4 Ajo
y asi con mas registros...... Cebollas

etc etcetc

despues si quiero hacer eso de la consulta con las imágenes para q en un registro salga la imagen y en otro no
lo agrego a esa sql? como seria mas o menos?

gracias
muchos saludos!!!!!!!

Mensaje Original por DJELVASCO
Está muy bien , pero q pasa con la columna q se repite el rubro , el id no se va a interferir con el de la otra tabla?
la sql q me diste evita eso? o como seria?

Tus tablas estan relacionados por ID de la tabla RUBROS y RUBRO de la tabla PROVEEDORES



TABLA RUBROS
ID RUBRO
1 Papas
2 Cebollas
3 Manzana
4 Ajo
5 Perejil

TABLA PROVEEDORES
ID NOMBRE DIRECCION TELEFONO RUBRO
1 juan paz 342 3394834 1
2 carlos torres 323 340394 2
3 ana pater 3432 454834 3
4 juan we 342 394534 4
y asi con mas registros......

etc etcetc

despues si quiero hacer eso de la consulta con las imágenes para q en un registro salga la imagen y en otro no
lo agrego a esa sql? como seria mas o menos?

Sustituyes el SQL que te habia dicho antes y como te dije usas un el numero que le corresponde al rubro que quieres en el link rubros.asp?id=5 Entonces jalarías todos los de perejil

seleccion=Request.Querystring("id")
qst="select a.NOMBRE, a.DIRECCION, a.TELEFONO from PROVEEDORES as a,RUBROS where a.RUBRO=RUBROS.RUBRO and RUBROS.ID="&seleccion

<%
Dim seleccion__MMColParam
seleccion__MMColParam = "1"
if (Request.QueryString("id") <> "") then seleccion__MMColParam = Request.QueryString("id")
%>
<%
set seleccion = Server.CreateObject("ADODB.Recordset")
seleccion.ActiveConnection = MM_proveedores_STRING
seleccion.Source = "SELECT NOMBRE, DESCRIPCION, LOCALIDAD, TELEFONO, DIRECCION, EMAIL, PHOTO, NOTAS, TICKETS, FIESTAS FROM PROVEEDORES as RUBROS WHERE RUBRO=RUBROS.RUBRO and RUBROS.ID='" + Replace(seleccion__MMColParam, "'", "''") + "'"
seleccion.CursorType = 0
seleccion.CursorLocation = 2
seleccion.LockType = 3
seleccion.Open()
seleccion_numRows = 0
%>
<%
Dim Repeat1__numRows
Repeat1__numRows = 5
Dim Repeat1__index
Repeat1__index = 0
Rubros_numRows = Rubros_numRows + Repeat1__numRows
%>

me tira este error:

Microsoft Contralador ODBC Microsoft Access
Data type mismatch in criteria expresion


--------------------------------------------------------------
HOLA HICE LO Q ME DIJISTE MAS O MENOS ADAPTANDOLO A LOS NOMBRES DE VARIABLE Q EL ULTRADEV TE INSERTA , TU ME HABIAS DICHO ESTO:

Primero que nada tus links deberían ser así

rubros.asp?id=1

TABLA RUBROS
ID RUBRO
1 Papas
2 Cebollas
3 Manzana
4 Ajo
5 Perejil

TABLA PROVEEDORES
ID NOMBRE DIRECCION TELEFONO RUBRO
1 juan paz 342 3394834 1
2 carlos torres 323 340394 2
3 ana pater 3432 454834 3
4 juan we 342 394534 4
y asi con mas registros......


Y la SQL

SQL="SELECT * FROM PROVEEDORES, RUBROS WHERE RUBROS.ID=PROVEEDORES.RUBRO AND RUBRO="&Request.QueryString("id")


en el ultradev hago esto!!!!

SELECT * FROM PROVEEDORES, RUBROS WHERE RUBROS.ID=PROVEEDORES.RUBRO AND RUBRO='MMColParam'

ESTE ES EL CODIGO

<%
Dim seleccion__MMColParam
seleccion__MMColParam = "1"
if (Request.QueryString("id") <> "") then seleccion__MMColParam = Request.QueryString("id")
%>
<%
set seleccion = Server.CreateObject("ADODB.Recordset")
seleccion.ActiveConnection = MM_proveedores_STRING
seleccion.Source = "SELECT * FROM PROVEEDORES, RUBROS WHERE RUBROS.ID=PROVEEDORES.RUBRO AND RUBRO='" + Replace(seleccion__MMColParam, "'", "''") + "' "
seleccion.CursorType = 0
seleccion.CursorLocation = 2
seleccion.LockType = 3
seleccion.Open()
seleccion_numRows = 0
%>
<%
Dim Repeat1__numRows
Repeat1__numRows = 5
Dim Repeat1__index
Repeat1__index = 0
Rubros_numRows = Rubros_numRows + Repeat1__numRows
%>

Y EL PROGRAMA ME DICE ESTO!!!!


Microsoft Contralador ODBC Microsoft Access

The specified field 'RUBRO' could refer to more than one table listed in the FROM clause of your SQL statement

DESPUES
HICE LO Q ME DIJERON Q HAGA OSEA ESTO:

seleccion.Source = "SELECT * FROM PROVEEDORES, RUBROS WHERE RUBROS.ID=PROVEEDORES.RUBRO AND RUBROS.RUBRO='" + Replace(seleccion__MMColParam, "'", "''") + "' "


Eso te resuelve el problema

<%
Dim seleccion__MMColParam
seleccion__MMColParam = "1"
if (Request.QueryString("id") <> "") then seleccion__MMColParam = Request.QueryString("id")
%>
<%
set seleccion = Server.CreateObject("ADODB.Recordset")
seleccion.ActiveConnection = MM_proveedores_STRING
seleccion.Source = "SELECT * FROM PROVEEDORES, RUBROS WHERE RUBROS.ID=PROVEEDORES.RUBRO AND RUBROS.RUBRO='" + Replace(seleccion__MMColParam, "'", "''") + "'"
seleccion.CursorType = 0
seleccion.CursorLocation = 2
seleccion.LockType = 3
seleccion.Open()
seleccion_numRows = 0
%>
<%
Dim Repeat1__numRows
Repeat1__numRows = 5
Dim Repeat1__index
Repeat1__index = 0
Rubros_numRows = Rubros_numRows + Repeat1__numRows
%>

EL ULTRADEV ME TIRA ESTE MENSAJE

Microsoft Contralador ODBC Microsoft Access
Type mismatch in expression
-----------


Pareceria q el ultradev no te permite usar dos tablas a la misma vez, por lo menos eso es lo q ví cuando queres hacer una consulta , siempre te dá para seleccionar una sola tabla!!
porq después para agregar el contenido dinámico a la página se tendria q usar una sola tabla
entonces como se podria hacer???'

SI ALGUIEN ME PUEDE AYUDAR PLEASE!!!!
  #2 (permalink)  
Antiguo 07/03/2003, 09:44
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
ke alguien lo lea por favor..a mi me mareó
  #3 (permalink)  
Antiguo 07/03/2003, 09:47
 
Fecha de Ingreso: febrero-2003
Ubicación: Argentina
Mensajes: 40
Antigüedad: 22 años, 2 meses
Puntos: 0
NO SE ASUSTEN

LO Q PASA ES Q ES UN COMPILADO DE PREGUNTAS Y RESPUESTAS PARA Q MAS O MENOS VEAN DE Q SE TRATA EL TEMA
FIJENSEN Q POR AHI HAY RESPUESTAS DE LOS DEMAS FORISTAS Q ME DICEN COMO HAGA Y DESPUES LE PONGO LA RESOLUCION LA CUAL ME SALE ERROR!!!1

ES FACIL
FIJATE BIEN
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:12.