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

Consultas y fechas

Estas en el tema de Consultas y fechas en el foro de ASP Clásico en Foros del Web. Estimados amigos. como estan disculpen la molestia estoy realizando una consulta y la deseo hacer de dos tablas diferentes de manera que al yo colocar ...
  #1 (permalink)  
Antiguo 23/07/2003, 08:50
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
Consultas y fechas

Estimados amigos. como estan disculpen la molestia estoy realizando una consulta y la deseo hacer
de dos tablas diferentes de manera que al yo colocar el numero de cedula me salgan los datos del
usuario (Nombres y Apellidos) y en el mismo formulario introduzca el codigo de la pelicula y
me muestre los campos de la pelicula(Titulo, Genero, Numero de Cd).
el codigo asp que utilizo es el siguiente y no me funciona

<%@LANGUAGE=VBScript%>
<%Option Explicit%>
<%
Dim conn
Dim Rs
Dim Ruta
Dim Index
Dim clave
Ruta=Server.MapPath("/test.mdb")
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Ruta
clave=Request.Form("Cod")
Set Rs=conn.Execute("Select top 1 nombres, apellidos, * from peli order by Cod")
If Rs.EOF and Rs.BOF then
Response.Write("<html><head></head><body bgcolor='#336699' text='#ffffff'>")
Response.Write("<br><br><br><center><b>")
Response.Write("No se encontro el Registro")
Response.Write("</b></center>")
Response.Write("</body></html>")
else
%>


Tambien deseo que al prestar una pelicula saber si esta el cliente esta multado restando las
fechas(ejemplo el las tiene que entregar a los 2 dias al pasar el tiempo debo multarlo) no se como realizarlo tengo la idea
pero no me funciona asi. si me pueden ayudar les agradezco.
__________________
Netfiles
  #2 (permalink)  
Antiguo 23/07/2003, 22:16
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
Bueno le voy a hacer un pequeño cambío... declararemos el recorset vale?

Set RS = Server.CreateObject("ADODB.RecordSet")

Asi queda:

<%@LANGUAGE=VBScript%>
<%Option Explicit%>
<%
Dim conn
Dim Rs
Dim Ruta
Dim Index
Dim clave
Ruta=Server.MapPath("/test.mdb")
Set conn=Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Ruta
clave=Request.Form("Cod")
Set Rs=conn.Execute("Select top 1 nombres, apellidos, * from peli order by Cod")
If Rs.EOF and Rs.BOF then
Response.Write("<html><head></head><body bgcolor='#336699' text='#ffffff'>")
Response.Write("<br><br><br><center><b>")
Response.Write("No se encontro el Registro")
Response.Write("</b></center>")
Response.Write("</body></html>")
else
%>


Prueba con eso!!
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #3 (permalink)  
Antiguo 24/07/2003, 08:17
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
gracias

gracias por la informacion me ha sido muy util
__________________
Netfiles
  #4 (permalink)  
Antiguo 29/07/2003, 14:22
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
estimado amigo univercity hice la prueba y me da ub error dice que los datos no coinciden me gustaria que me ayudara ya no se que hacer
__________________
Netfiles
  #5 (permalink)  
Antiguo 30/07/2003, 02:18
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
De tu pregunta, entiendo que el código de película es único, es decir que aunque tengas dos películas iguales, el número de cedula es distinto.

Entonces tienes una tabla de PelisAlquiladas, con la FechadeAlquiler, el "cliente" que la tiene y la FechaDevolución prevista, lo que no sé es si almacenas todos los datos de la película y del cliente en la misma tabla o relacionas esos datos de las tablas peliculas y clientes, las select cambian dependiendo de como tengas almacenado eso.

Pon un poco más de información, y buscamos la solución

Un saludo
  #6 (permalink)  
Antiguo 31/07/2003, 08:50
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
consulta

estimado amigo tengo una tabla de usuarios, otra de peliculas, prestamos uçy posiblemente una de devolucion de peliculas necesito que me consulte por codigo de pelicula y por la cedula
__________________
Netfiles
  #7 (permalink)  
Antiguo 31/07/2003, 09:01
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
Si he entendido bien... quieres que al introducir, bien el código de usuario, bien el cóldigo de película, te muestre la información del usuario, y qué películas tiene, o si sólo escribes el código de película, que te diga de esa película, quien la tiene, y cuando tenía que haberla devuelto
  #8 (permalink)  
Antiguo 31/07/2003, 09:11
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
eso es exactamente lo que quiero que me haga el sistema y que al pasarse del dia de entrega se le cobre una multa
__________________
Netfiles
  #9 (permalink)  
Antiguo 31/07/2003, 09:29
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
Vale.....

En la tabla prestamos deberías tener al menos el código de película, y el código de usuario que la tiene, así como la fecha de devolución prevista, supongo que el resto de datos del usuario y de la película están en las tablas usuarios y la tabla películas.

Entonces, creas un formulario de petición de datos que te lleve a una de recogida, si ha introducido sólo el código de película, buscas por código de película y arrastras el resto de datos.

SELECT NOMBRE, APELLIDOS, NUMSOCIO, TITULO, GENERO, NUMEROCD, FECHADEVPREVISTA
FROM (PRESTAMOS INNER JOIN USUARIOS ON PRESTAMOS.CODUSUARIO = USUARIOS.CODUSUARIO) INNER JOIN PELICULAS ON PRESTAMOS.CODPELICULA = PELICULAS.CODPELICULA

Ahí tienes los datos, luego dentro del propio VbScript puedes calcular si la fecha es pasada, y cuanto tiene que pagar de multa

Un saludo
  #10 (permalink)  
Antiguo 31/07/2003, 09:46
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
disculpa en visual scrip no lo se trabajar, el otro codigo lo pruebo y te aviso. perdona si me puedes decir como hacerlo en vscrip
__________________
Netfiles
  #11 (permalink)  
Antiguo 31/07/2003, 10:17
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
A lo que me refiero, es a que puedes comprobarlo desde la propia página ASP, que lenguaje uses es lo de menos
  #12 (permalink)  
Antiguo 05/08/2003, 10:52
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
consultas y fecha

estimado amigo TERI probe tu codigo si mer sirve pero me muestra siempre un mismo usuario no me muestra mas si coloco mi numero de cedula sçsiempre a parece el primer registro
__________________
Netfiles
  #13 (permalink)  
Antiguo 06/08/2003, 01:34
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
La SELECT que puse es para consultar por película.

si lo que deseas es consultar por número de célula (código de usuario) hay que cambiar alguna cosilla

SELECT NOMBRE, APELLIDOS, NUMSOCIO, TITULO, GENERO, NUMEROCD, FECHADEVPREVISTA
FROM (USUARIOS INNER JOIN PRESTAMOS ON USUARIOS.CODUSUARIO = PRESTAMOS.CODUSUARIO) INNER JOIN PELICULAS ON PRESTAMOS.CODPELICULA = PELICULAS.CODPELICULA
WHERE USUARIOS.CODUSUARIO = ¿¿¿???

si pones tu código de usuario, y tienes más de una película, saldrá, eso sí, también sacará las que ya tengas devueltas, además de por codusuario, filtra por PRESTAMOS.DEVUELTA = True AND USUARIOS.CODUSUARIO = ¿¿¿???

No sé si esto resuelve tu problema

Un saludo
  #14 (permalink)  
Antiguo 06/08/2003, 13:57
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
amigo teri lo pruebo y te aviso mañana gracias de antemano
__________________
Netfiles
  #15 (permalink)  
Antiguo 07/08/2003, 00:41
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
Si no te funciona la solucion, pinta el codigo de nuevo para echarle una mirada...
Saludos
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #16 (permalink)  
Antiguo 19/08/2003, 09:09
 
Fecha de Ingreso: febrero-2003
Mensajes: 76
Antigüedad: 21 años, 4 meses
Puntos: 0
estimados amigos les envio el codigo: no se que estoy haciendo mal
<%@LANGUAGE=VBScript%>
<%Option Explicit%>
<%
Dim conn
Dim Rs
Dim Ruta
Dim Index
Dim clave
Ruta=Server.MapPath("/test.mdb")
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Ruta
clave=Request.Form("cod")
Set Rs=conn.Execute("Select * from peli where Cod like '%" & clave & "%'")
' Set Rs=conn.Execute("Select top 1 cod, titulo, genero, cd , * from dato order by Cod")
Set Rs=conn.Execute SELECT NOMBRE, APELLIDOS, NUMSOCIO, TITULO, GENERO, NUMEROCD, FECHADEVPREVISTA FROM (PRESTAMOS INNER JOIN USUARIOS ON PRESTAMOS.CODUSUARIO = USUARIOS.CODUSUARIO) INNER JOIN PELICULAS ON PRESTAMOS.CODPELICULA = PELICULAS.CODPELICULA

If Rs.EOF and Rs.BOF then
Response.Write("<html><head></head><body bgcolor='#336699' text='#ffffff'>")
Response.Write("<br><br><br><center><b>")
Response.Write("No se encontro el Registro")
Response.Write("</b></center>")
Response.Write("</body></html>")
else
%>
<html>
<head>
<title>busca</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#336699" text="#000000">
<div align="center"><font color="#FFFFFF"><b>DATOS PERSONALES</b></font><b></b>
<br>
<form>
<table width="75%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="right" valign="bottom" width="14%"><font color="#FFFFFF">Cod&nbsp;
</font></td>
<td align="left" width="38%"> <font color="#FFFFFF"> &nbsp;
<input type="text" name="cod" size="15" maxlength="15" value="<%=Rs(0)%>" Readonly>
</font></td>
<td align="right" valign="bottom" width="13%"><font color="#FFFFFF">Titulo&nbsp;
</font></td>
<td width="35%"> &nbsp;
<input type="text" name="titulo" size="15" maxlength="15" value="<%=Rs(1)%>" Readonly>
</td>
</tr>
<tr>
<td align="right" valign="bottom" width="14%"><font color="#FFFFFF">genero&nbsp;
</font></td>
<td align="left" width="38%"> <font color="#FFFFFF"> &nbsp;
<input type="text" name="genero" size="15" maxlength="15" value="<%=Rs(2)%>" Readonly>
</font></td>
<td align="right" valign="bottom" width="13%"><font color="#FFFFFF">Cd&nbsp;
</font></td>
<td width="35%"> &nbsp;
<input type="text" name="cd" size="15" maxlength="15" value="<%=Rs(3)%>" Readonly>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<%
end if
%>
nota mis tablas se llaman dato, peliculas y prestamos
__________________
Netfiles
  #17 (permalink)  
Antiguo 20/08/2003, 02:08
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
Con el mensaje de error, es más sencillo intentar buscar una solución, pero así por encima, hay que revisar un par de cosillas.

La base de datos test.mdb, debe estar en el directorio raíz del sitio web, desde el que estás ejecutando la página asp.

No sé exactamente que es lo estás intentando hacer, tienes dos consultas seguidas, y sólo preguntas si hay registos en la segunda, la primera te sobraría, o bien te falta, comprobar esa primero, sería algo así:

....
Dim clave, cSQL
Ruta=Server.MapPath("/test.mdb")
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Ruta
clave=Request.Form("cod")

Set Rs = Server.CreateObject( "ADODB.Recordset" )

cSQL = "SELECT NOMBRE, APELLIDOS, NUMSOCIO, TITULO, GENERO, NUMEROCD, FECHADEVPREVISTA " & _
"FROM (PRESTAMOS INNER JOIN USUARIOS ON PRESTAMOS.CODUSUARIO = USUARIOS.CODUSUARIO) " & _
"INNER JOIN PELICULAS ON PRESTAMOS.CODPELICULA = PELICULAS.CODPELICULA"

Rs.Open cSQL, conn, adOpenDynamic , adLockOptimistic
....


Aunque lo más probable, es que lo que estés consultando por el resto del código, sea la película, cambia la SELECT final por la que haces a la tabla Peliculas, pero si tu tabla se llama peliculas, asegurate en la consulta que pones ese nombre, fíjate, has puesto {Set Rs=conn.Execute("Select * from peli where Cod like '%" & clave & "%'")"}

Creo que con esto debería funcionar.... ya dirás algo más

Un saludo
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:03.