• 0
Sign in to follow this  
Eli@ne

Calendario Eventos Com Db

Question

Ola pessoal

antes de vim aqui já rodei toda internet e não encontrei essa mia solusao

e o pior é que é algo que parece ser tão simples

este é o meu calendario

<%

Option Explicit

'EM TODOS OS PROGRAMAS

'COLOCAR ESTE COMANDO,

'POIS FICA MAIS FÁCIL

'ACHAR UM ERRO

Session.LCID = 1046

'Deixa tudo no formato brasileiro

%>

<html>

<body>

<%

dim dt 'Variável que controla a Data

if request("dt") = empty then

dt = NOW() 'Traz data e hora

else

dt = request("dt")

end if

dim pd 'Variável do primeiro dia

dim ud 'Variável do último dia

pd = DateSerial(year(dt),month(dt),1)

ud = DateSerial(year(dt),month(dt)+1,1)-1

dim ma 'Mês anterior ao atual

dim mp 'Mês posterior ao atual

ma = DateSerial(year(dt),month(dt)-1,1) 'Para voltar 1 mês

mp = DateSerial(year(dt),month(dt)+1,1) 'Para andar 1 mês

'-------------------------

'Montagem da Grade de Dias

'-------------------------

dim gr(42) 'Matriz

dim li 'Linhas da Grade

dim co 'Colunas da Grade

dim ct 'Contador da Grade

ct = 1

dim lp 'Suporte aos Loops

'-------------------------

'Montagem dos Quadros Brancos

'-------------------------

for lp = 2 to weekday(pd)- 1

gr(ct) = "&nbsp;"

ct = ct + 1

next

'-------------------------

'Lendo o Mês Atual

'-------------------------

for lp = pd to ud

if lp = "3/4/2005" then

gr(ct) = "<font color = red>" & day(lp) & "</font>"

else

gr(ct) = day(lp)

end if

ct = ct + 1

next

'-----------------------------

'Montagem do Resto dos Quadros

'-----------------------------

for lp = ct to 42

gr(lp) = "&nbsp;" 'Coloquei LP dentro do GR porque ele já

'tem o valor de CT (que é a posição

'do último dia + 1)

next

ct = 1

%>

<html><body><center>

<table border=1 cellspacing = 0>

<tr>

<td>

<a href= "cal.asp?dt=<%=ma%>">

<b>></b><!--img src="direita.gif"-->

</a>

</td>

<td colspan = 5 align = center>

<font face = "verdana" size = 3><b>

<%=Ucase(MonthName(month(dt),true))%>/<%=year(dt)%>

</b></font>

</td>

<td>

<a href = "cal.asp?dt=<%=mp%>">

<b><</b><!--img src="esquerda.gif"-->

</a>

</td>

</tr>

<tr>

<td>DOM</td><td>SEG</td><td>TER</td>

<td>QUA</td><td>QUI</td><td>SEX</td><td>SAB</td>

</tr>

<%for li = 1 to 6%>

<tr>

<%for co = 1 to 7%>

<td><%=gr(ct)%></td>

<%ct = ct + 1%>

<%next%>

</tr>

<%next%>

não sei como aplicar neste calendario um select da tabela que eu fiz para apareser a data do evento dentro do calendario com uma cor diferente e com o link

eu tentei fazer assim mas não da certo

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

mes="4"

  SQLnews = " SELECT * FROM calendario"

  Set RSnews = obj.Execute(SQLnews)

  'If Not RSnews.EOF Then RSnews.MoveFirst

Do While Not RSnews.EoF

gg = RSnews("gg")

mm = RSnews("mm")

aa = RSnews("aa")

evento = gg&"/"&mm&"/"&aa

for lp = pd to ud

if lp = evento then

gr(ct) = "<font color = red>" & day(lp) & "</font>"

else

gr(ct) = day(lp)

end if

ct = ct + 1

next

RSnews.MoveNext

Loop

RSnews.Close

Set RSnews = Nothing

não sei como fazer

quem mi ajudar agradeço muito sad.gif

Obrigada

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

não se esqueça que quando você lida com máquina, em comparação deve-se não só comparar a compatibilidade dos dados mas também o tipo de dado:

str=1 não é o mesmo que str="1", ou seja

tente tranformar evento em um modelo compatível com Ip:

evento = cdate(gg&"/"&mm&"/"&aa)

porque no seu caso evento trata-se de uma String e Ip de uma data, são dados totalmente distintos um do outro.

qualque duvida post ai!!!!

kwead.com ano'5

Share this post


Link to post
Share on other sites
  • 0

Ola aferlim

obrigada pela resposta

procurei fazer algo

não com aquele codigo mas com outros codigos que encontrei na internet

não mim lembro mais onde encontrei esse calendario e nem tem escritto nele

mas o nome do file é Diary.zip ali você encontra um calendario que pode ser modificado

coloco aqui para que serva de exemplo pra quem precisar

<%

'Response.ExpiresAbsolute  = dateadd("d", -5, date())

'Response.Expires = -10

Session.LCID = 1046

Function FormatStr(String)

on Error resume next

String = Replace(String, CHR(13), "")

String = Replace(String, CHR(10) & CHR(10), "</P><P>")

String = Replace(String, CHR(10), "<BR>")

FormatStr = String

End Function

'--------------------------------------------------

  Function DtPrevSunday(ByVal dt)

      Do While WeekDay(dt) > vbSunday

        dt = DateAdd("d", -1, dt)

      Loop

  DtPrevSunday = dt

  End Function

'--------------------------------------------------

function dNum(n)

if n >= 10 then

  dNum = cstr(n)

Else

  dNum = "0" & cstr(n)

End If

End Function

'SQL Formatted Date

Function SQLDate(dt)

SQLDate = cdbl(dt)

End Function

Sub diary(dtView,days)

if days > "" then

arDates = split(days, ",")

End if

dtToday = Date()

' Get fiobjRst day of month

dttmp = dtView

dtday = day(dttmp)

dttmp = dateadd("d", (-dtday+1), dttmp)

dtCurViewMonth = dttmp

%>

    <b>Calendario eventos </b>

      <TABLE CELLPADDING=1 class="TABLE_calendario" CELLSPACING=1 WIDTH="165" ID="Table1">

          <TR VALIGN=MIDDLE ALIGN=CENTER>

            <TD COLSPAN=7>

            <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BORDER=0 ID="Table2">

                <TR VALIGN=MIDDLE ALIGN=CENTER>

                  <TD WIDTH="80%" class="TITOLO">

                      <B><%=MonthName(Month(dtCurViewMonth)) & " " & Year(dtCurViewMonth)%></B>

                  </TD>

                </TR>

            </TABLE>

            </TD>

          </TR>

          <TR VALIGN=TOP ALIGN=CENTER class="TITOLO">

    <Td WIDTH="14%" >D<%'=WeekDayName(iDay, true)%></Td>

      <Td WIDTH="14%" >L<%'=WeekDayName(iDay, true)%></Td>

    <Td WIDTH="14%" >M<%'=WeekDayName(iDay, true)%></Td>

    <Td WIDTH="14%" >M<%'=WeekDayName(iDay, true)%></Td>

      <Td WIDTH="14%" >G<%'=WeekDayName(iDay, true)%></Td>

      <Td WIDTH="14%" >V<%'=WeekDayName(iDay, true)%></Td>

    <Td WIDTH="14%" >S<%'=WeekDayName(iDay, true)%></Td>

          <% 'For iDay = vbSunday To vbSaturday %>

        <%'    <Td WIDTH="14%" >=WeekDayName(iDay, true)</Td>%>

          <%'Next %>

        </TR>

<% 

  dtCurViewDay = DtPrevSunday(dtCurViewMonth)

 

  For iWeek = 0 To 5

      Response.Write "<TR VALIGN=TOP align=center >" & vbCrLf

For iDay = 0 To 6

       

    If Month(dtCurViewDay) = Month(dtCurViewMonth) Then

    if days > "" then

    Done = false

      for i = 0 to ubound(arDates)

      if cdbl(dtCurViewday)  = cdbl(arDates(i)) then

      Response.Write "<TD align=center bgcolor="#CCCCCC"><a href=default.asp?" & "view_date=" & SQLDate(dtCurViewday)& ">"

      Done = true

      End If

    next

    if Done = false then Response.Write "<TD align=center >" 'qui sarebbe link

    Else

    Response.Write "<TD><a href=default.asp?" & "view_date=" & SQLDate(dtCurViewday) & ">"

        End if   

            Response.Write  Day(dtCurViewDay) & ""

  Else

  Response.Write "<TD>"

    End If

        Response.Write "</TD></a>" & vbCrLf

        dtCurViewDay = DateAdd("d", 1, dtCurViewDay)

      Next

      Response.Write "</TR>" & vbCrLf

  Next

%>

<%

' --------END OF DRAW CALENDAR SECTION--------

Response.Write "</table>"

End Sub

%>

<%

set objRs = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT * FROM calendario Where dte >= " & cdbl(date()) & " order by dte"

objRs.Open SQL, obj, 1, 1

if objRs.EOF or objRs.BOF then

'Response.Write "<div class=heading2>No Events Found</div>"

d = cdbl(date())

Else

d = cdbl(objRs("dte"))

End If

%>

<% do until objRs.EOF %>

<%

  objRs.movenext

  loop

objRs.Close

SQL = "SELECT DISTINCT dte as DT from calendario where dte >= " & cdbl(date)

  objRs.Open SQL, obj

   

  do until objRs.EOF 

  data = data & ", " &  objRs("dt")

 

 

  objRs.MoveNext

  loop

  %>

<%

data = Replace(data, ",", "", 1, 1)

if d = "" then d = now

diary d, data

'Response.Write

  %>

não é pefeito

mas funziona

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this