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

ayuda con calendario dinamico

Estas en el tema de ayuda con calendario dinamico en el foro de ASP Clásico en Foros del Web. tengo un calendario dinamico pero necesito que en las fechas que se encuentan en la base de datos se ponga un link, lo he hecho ...
  #1 (permalink)  
Antiguo 04/10/2005, 06:33
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
ayuda con calendario dinamico

tengo un calendario dinamico pero necesito que en las fechas que se encuentan en la base de datos se ponga un link, lo he hecho pero no se porque me sale un error

Microsoft VBScript runtime error '800a01a8'

Object required

/calendario.asp, line 45

la linea 45 es esta
resNoticias.Open sqlNoticias, Con,3,1
Se que no necesariamente el error puede estar ahí.
aqui les dejo todo el codigo aver si alguno puede darme una mano con esto, plis. porque hace dias que estoy probando pero nada.

Código:
<%@ Language=VBScript %>
<%
	set Con = Server.CreateObject("ADODB.Connection")
	set resNoticias = Server.CreateObject("ADODB.RecordSet")
	Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/xxxxx.mdb")
'pagina que recibirá la fecha seleccionada por el usuario
Const URLDestino = "index-ant.asp" 

'Declaramos las variables
Dim MiMes
Dim MiAnio
Dim PrimerDia
Dim DiaActual
Dim Col
Dim Fila
Dim Fet
Dim Fecha

MiMes = Request.Querystring("Month")
MiAnio = Request.Querystring("Year")

If IsEmpty(MiMes) then MiMes = Month(Date)
if IsEmpty(MiAnio) then MiAnio = Year(Date)

Call MustraTitulo (MiMes, MiAnio)

PrimerDia = WeekDay(DateSerial(MiAnio, MiMes, 1)) -1
DiaActual = 1
'Construyamos el calendario 
For Fila = 0 to 5
	For Col = 0 to 6
		If Fila = 0 and Col < PrimerDia then
			response.write "<td>&nbsp;</td>"
		elseif DiaActual > DiaAnterior(MiMes, MiAnio) then
			response.write "<td>&nbsp;</td>"
		else
			response.write "<td"
			if cInt(MiAnio) = Year(Date) and cInt(MiMes) = Month(Date) and DiaActual = Day(Date) then 
				response.write " class='calCeldaResaltado' align='center'>"
			else 
				response.write " align='center'>"
			end if
			Fet= DiaActual & "/" & MiMes & "/" & MiAnio
			sqlNoticias = "SELECT * FROM tbTapa WHERE fechaBase="&Fet&""
			resNoticias.Open sqlNoticias, Con,3,1
			if not resNoticias.eof and not resNoticias.bof then
				Fecha=resNoticias("fechaBase")
			end if
			if Fet = Fecha then 
				response.write "<a href='" & URLDestino & "?fecha=" & Fet & "'>"
			end if
			'Libera memoria
			resNoticias.Close
			Set resNoticias = Nothing
			if cInt(MiAnio) = Year(Date) and cInt(MiMes) = Month(Date) and DiaActual = Day(Date) then 
				Response.Write "<div class='calResaltado'>" 
			else
				Response.Write "<div class='calSimbolo'>" 
			end if
			Response.Write DiaActual & "</div></a></td>"
			DiaActual = DiaActual + 1
		End If
	Next
	response.write "</tr>"
Next
response.write "</table></body>"
%>

<script language="JavaScript">
<!--
//window.open = SymRealWinOpen;
//-->
</script>

<%
Sub MustraTitulo(MiMes,MiAnio)
%>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
<style>
		.calFondoCalendario {background-color:#EFF4FA}
		.calEncabe {font-family:Arial, Helvetica, sans-serif; font-size:11px}
		.calFondoEncabe {background-color:#becfdf}
		.calDias {font-family:Arial, Helvetica, sans-serif; font-size:9px; font-weight:900; background-color: #becfdf}
		.calSimbolo {font-family:Arial, Helvetica, sans-serif; font-size:11px; text-decoration:none; font-weight:200; color:#666666}
		.calResaltado {font-family:Arial, Helvetica, sans-serif; font-size:11px; text-decoration:none; font-weight:700}
		.calCeldaResaltado {background-color:#becfdf}
		.calCeldaFlechas {background-color:#3C5A77}
		.calCeldaMesAnio {background-color:#4E789E}
		.calCeldaDomingo {font-family:Arial, Helvetica, sans-serif;font-size:9px;font-weight:900;background-color:#9c0031;color: #FFFFFF}
		.calColDomingo {font-family:Arial, Helvetica, sans-serif;font-size:9px;font-weight:900;background-color:#4E789E;color: #FFFFFF}
</style>
<title>Calendario AspectoX</title></head>
<body bgcolor='#FFFFFF' leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
<table border='0' cellspacing='1' cellpadding='0' width='200' align='center' class="calFondoCalendario" bgcolor="#003399"> 
	<tr align='center'> 
		<td colspan='7'>
    	<table border='0' cellspacing='1' cellpadding='1' width='100%' class="calFondoEncabe" bgcolor="#003399">
      		<tr>
				<td width="11" align='left' class='calCeldaFlechas'>
						<%
						response.write "<a href = 'calendario.asp?"
						if MiMes - 1 = 0 then 
							response.write "month=12&year=" & MiAnio -1
						else 
							response.write "month=" & MiMes - 1 & "&year=" & MiAnio
						end if
						response.write "'><span class='calSimbolo'><img height='11' src='img/skins/flechaIzq.gif' width='22' border='0'></span></a>"
						%></td>
					<td align='center' class='calCeldaMesAnio'>
						<%
						response.write "<span class='calEncabe'> <b>" & MonthName(MiMes) & "</b> </span>"
						%>
					</td>
					<td width="11" align='right' class='calCeldaFlechas'>
						<%
						response.write "<a href = 'calendario.asp?"
						if MiMes + 1 = 13 then 
							response.write "month=1&year=" & MiAnio + 1
						else 
							response.write "month=" & MiMes + 1 & "&year=" & MiAnio
						end if
						response.write "'><span class='calSimbolo'><img height='11' src='img/skins/flechaDer.gif' width='22' border='0'></span></a>"
						%>			  </td>
		  </tr>
		  </table>
	  </td>
	</tr>
	<tr align='center'> 
		<td><div class='calCeldaDomingo'>Dom</div></td>
		<td><div class='calDias'>Lun</div></td>
		<td><div class='calDias'>Mar</div></td>
		
  <td bgcolor="#dbe7f3">
<div class='calDias'>Mie</div></td>
		
  <td bgcolor="#dbe7f3">
<div class='calDias'>Jue</div></td>
		<td><div class='calDias'>Vie</div></td>
		<td><div class='calDias'>Sab</div></td>
	</tr>
    <%
End Sub

Function MonthName(MiMes)
	Select Case MiMes
		Case 01
			MonthName = "Enero"
		Case 02
			MonthName = "Febrero"
		Case 03
			MonthName = "Marzo"
		Case 04
			MonthName = "Abril"
		Case 05
			MonthName = "Mayo"
		Case 06
			MonthName = "Junio"
		Case 07
			MonthName = "Julio"
		Case 08
			MonthName = "Agosto"
		Case 09
			MonthName = "Septiembre"
		Case 10
			MonthName = "Octubre"
		Case 11
			MonthName = "Noviembre"
		Case 12
			MonthName = "Diciembre"
		Case Else
			MonthName = "ERROR!"
	End Select
End Function

Function DiaAnterior(MiMes, MiAnio)
	Select Case MiMes
		Case 01, 03, 05, 07, 08, 10, 12
			DiaAnterior = 31

		Case 04, 06, 09, 11
			DiaAnterior = 30

		Case 2
			If IsDate(MiAnio & "-" & MiMes & "-" & "29") Then DiaAnterior = 29 Else DiaAnterior = 28

		Case Else
			DiaAnterior = 0
	End Select
End Function
%>
<table border='0' cellspacing='1' cellpadding='1' width='200' class="calFondoEncabe" bgcolor="#003399">
      <tr class="calFondoEncabe" bgcolor="#003399">
        <td width="11" align='left' class='calCeldaFlechas'>
          <%
						response.write "<a href = 'calendario.asp?"
						if MiMes - 1 = 0 then 
							response.write "month=12&year=" & MiAnio -1
						else 
							response.write "month=" & MiMes - 1 & "&year=" & MiAnio
						end if
						response.write "'><span class='calSimbolo'><img height='11' src='img/skins/flechaIzq.gif' width='22' border='0'></span></a>"
						%></td>
        <td align='center' class='calCeldaMesAnio'>
						<%
						response.write "<span class='calEncabe'> <b>" & MiAnio & "</b> </span>"
						%>
		</td>
        <td width="11" align='right' class='calCeldaFlechas'>
		<%
						response.write "<a href = 'calendario.asp?"
						if MiMes + 1 = 13 then 
							response.write "month=1&year=" & MiAnio + 1
						else 
							response.write "month=" & MiMes + 1 & "&year=" & MiAnio
						end if
						response.write "'><span class='calSimbolo'><img height='11' src='img/skins/flechaDer.gif' width='22' border='0'></span></a>"
						%>
		</td>
      </tr>
</table>
otra cosa quisiera que en la columna de los dias domingos lleve otro color pero tambien he probado de todo pero nada.
espero puedan darme una mano con este codigo, desde ya muchas gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #2 (permalink)  
Antiguo 04/10/2005, 07:21
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
la linea 45 es esta
resNoticias.Open sqlNoticias, Con,3,1
Se que no necesariamente el error puede estar ahí.
Pues si, el error esta exactamente ahí. Es ocasionado por que colocaste la instrucción Set resNoticias = Nothing dentro de un For (y anidado para colmo)

Nada como una "prueba de escritorio" para sacar estos errores.
  #3 (permalink)  
Antiguo 04/10/2005, 07:33
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
haa ok quiere decir que tengo que ponerlo fuera del for?
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #4 (permalink)  
Antiguo 04/10/2005, 08:33
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
alguien que me ayude porque ahora no me da ningun mensaje de error pero no me pone lis links en las fechas que figuran en la base de datos
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #5 (permalink)  
Antiguo 04/10/2005, 12:44
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
En lugar de empezar a poner post y post solicitando que alguien intervenga (que por cierto es tu costumbre), ¿por que no haces pruebas, revisas el código HTML resultante y aplicas corridas de escritorio para depurar el código?
  #6 (permalink)  
Antiguo 04/10/2005, 13:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Anda de mal humor el maestro tiguron, pero me parece que tiene razon despues de todo, depura un poco!

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 04/10/2005, 13:50
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
yo utilice el codigo del calendario e hice unos cambios

aqui esta el codigo depurado

Ojo que me vole una parte de tu codigo el de comparacion de fet contra fecha, las modificaicones van en negrita

suerte.

No se si me mandas las imagenes por correo y asi utilizo todo tu fuente

saludos



Cita:
For Fila = 0 to 5
For Col = 0 to 6
If Fila = 0 and Col < PrimerDia then
response.write "<td>&nbsp;</td>"
elseif DiaActual > DiaAnterior(MiMes, MiAnio) then
response.write "<td>&nbsp;</td>"
else
response.write "<td"
if cInt(MiAnio) = Year(Date) and cInt(MiMes) = Month(Date) and DiaActual = Day(Date) then
response.write " class='calCeldaResaltado' align='center'>"
else
response.write " align='center'>"
end if
Fet = DiaActual & "/" & MiMes & "/" & MiAnio
sqlNoticias = "SELECT * FROM tbTapa WHERE fechaBase=datevalue('"& Fet &"')"
Set resNoticias = Con.Execute(sqlNoticias)
if not resNoticias.eof and not resNoticias.bof then
Fecha=resNoticias("fechaBase")
enlace = "<a href="& URLDestino &"?mes="&MiMes&"&dia="&DiaActual&">"& DiaActual &"</a>"
else
enlace = DiaActual

end if
if cInt(MiAnio) = Year(Date) and cInt(MiMes) = Month(Date) and DiaActual = Day(Date) then
Response.Write "<div class='calResaltado'>"
else
Response.Write "<div class='calSimbolo'>"
end if
Response.Write enlace &"</div></a></td>"
DiaActual = DiaActual + 1
End If
Next
response.write "</tr>"
Next
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 04/10/2005, 14:01
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
Anda de mal humor el maestro tiguron, pero me parece que tiene razon despues de todo, depura un poco!
para nada, pero buscando otras cosas por el foro he encontrado muchos mensajes de este usuario con el mismo estilo, y me hice un prejuicio despues de leer como trató a caricatos, pero tienes razón, no fue correcto, me disculpo.
  #9 (permalink)  
Antiguo 05/10/2005, 05:48
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
Sori compañeros, me parece que se estan equivocando, siempre he sido muy cortez con todos, pero como ustedes no voy a permitir que se me trate mal y por ahi puedo responder de mala manera, pero si ven todos mis aportes veran que siempre he sido muy respetuoso, porque valoro mucho la ayuda que cada uno puede ofrecer, de hecho muchos me han ayudado, no solo a mi sino tambien a casi todos los foreros. Siempre pruebo mis codigos hago todo hasta que ya no se mas que hacer, despues busco cosas similares tanto aqui como en alguna otra pagina, si con eso no logro solucionarlo entonces posteo.
Bueno con respecto al codigo que me dejo el compañero JuanRAPerez todo funciono sin errores solo que no me pone las fechas que tengo en la base de datos con el links, y por lo que he visto es porque en el if not resNoticias.eof and not resNoticias.bof then, se va por el else, la base tiene cargadas las fechas y todo funciona bien he probado las variables para ver si la info esta llendo bien y si solo la variable fecha que al no entrar en el if no la cambia.
bueno, espero no armar, ninguna polemica, ya que nunca es mi intencion generar ese tipo de cosas que no me aportan nada ami ni tampoco a ustedes.
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #10 (permalink)  
Antiguo 05/10/2005, 08:36
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
a mi me funciona de maravilla

y no me ha presentado ningun lío.

deverias de verificar tu campo fecha en la base porque a me esta mostrando todos los enlaces. correctamente

verifica eso
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 05/10/2005, 08:43
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
la verdad una de las cosas que pense que podian ser es que las fechas en el calendario las muestra de esta manera 1/9/2005 y yo en la base de datos la tengo como 01/09/2005 pero he modificado unos campos para que se vea como lo muestra el calendario pero nada, no sale nada, bueno seguire intentando si tu me dices que a vos te esta funcionando bien, seguiremos probando. gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #12 (permalink)  
Antiguo 05/10/2005, 08:45
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
sori para que es el datevalue, que funcion cumple?
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #13 (permalink)  
Antiguo 05/10/2005, 09:26
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Cita:
Iniciado por virla
sori para que es el datevalue, que funcion cumple?
cumple la funcion de convertir la cadena de texto en formato fecha.
__________________
JuanRa Pérez
San Salvador, El Salvador
  #14 (permalink)  
Antiguo 06/10/2005, 06:06
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 22 años, 9 meses
Puntos: 1
ahora si todo funciona muy bien creo que fue que havia un error de escritura en alguna parte.
Muchas gracias por la ayuda que me dieron.
pero si alguno se le da una idea para que las celdas del dia domingo tenga otro color de fondo agradeceria la ayuda que puedan darme
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
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 06:48.