begin process at 2008 05 17 06:09:26
1 173 917 membres
49 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AGENDA (AFFICHAGE DES ÉVÉNEMENTS PROVENANT D'UNE BASE DE DONNÉES SUR UN CALENDRIER)


Information sur la source

Catégorie :Date/Heure Classé sous : agenda, calendrier, calendar, access Niveau : Débutant Date de création : 03/07/2002 Date de mise à jour : 27/02/2004 12:18:21 Vu / téléchargé: 19 285 / 1 794

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Ce script se connecte à une base de données (SQLServer ici), et va afficher les événements disponibles pour le mois sélectionner sur un calendrier dynamique.
Peut également servir uniquement de calendrier sur un site.
Très facilement évolutif avec par exemple l'ajout de thème d'événement, de tris...

Source

  • ' ##############################################################
  • ' Agenda.asp
  • ' Affiche un agenda d'événement (configurer ici pour SQL Server)
  • ' Romain Mourer @2002
  • ' romain_mourer@yahoo.fr
  • ' ##############################################################
  • <!-- #include file='connexion.asp' -->
  • <%
  • Function DtPrevSunday(ByVal dt)
  • ' Cette foction va renvoyer la date du premier jour à afficher sur
  • ' le calendrier (en général jour du mois précédent)
  • Do While WeekDay(dt) > vbSunday
  • dt = DateAdd("d", -1, dt)
  • Loop
  • DtPrevSunday = dt
  • End Function
  • '--------------------------------------------------
  • dim rsEvenement
  • '----------------------------------------------------------
  • ' Function aganda_recherche_evenement(DateMois)
  • ' Cherche s'il existe un événement à la date donnée
  • ' Argument(s) : DateMois
  • '----------------------------------------------------------
  • Function aganda_recherche_evenement(DateMois)
  • Set rsRecherche = server.CreateObject("ADODB.Recordset")
  • strSql = "SELECT Agenda.* FROM Agenda WHERE " _
  • & " month(dateEvenement)= " & month(DateMois) & " and year(dateEvenement) = " & year(DateMois) & " AND day(dateEvenement) = " & day(DateMois) & " ORDER BY DateEvenement"
  • rsRecherche.Open StrSql, DBConn
  • if not rsRecherche.eof then
  • aganda_recherche_evenement = "oui"
  • else
  • aganda_recherche_evenement = "non"
  • end if
  • rsRecherche.close
  • set rsRecherche=nothing
  • End Function
  • '----------------------------------------------------------
  • ' Function seance_recherche_Annee(DateAVoir)
  • ' Affiche le calendrier de recherche d'un événement
  • ' Argument(s) : DateAVoir
  • '----------------------------------------------------------
  • Function agenda_recherche (DateAVoir)
  • Dim dtToday
  • dtToday = Date()
  • Dim dateMoisCourant ' Date du 1er jour du mois
  • Dim dateTmpCourant ' Date du 1er jour à afficher sur le calendrier
  • ' en général, jour du mois précédent
  • ' recherche du premier jour du mois
  • dateTmp = DateAVoir
  • dateJour = day(dateTmp)
  • dateTmp = dateadd("d", (-dateJour+1), dateTmp)
  • dateMoisCourant = dateTmp
  • Dim iDay, iWeek, sFontColor
  • %>
  • <table CELLPADDING="3" class="Agenda" border="0">
  • <tr VALIGN="MIDDLE" ALIGN="CENTER">
  • <td COLSPAN="7">
  • <table CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" width="100%" class="AgendaMois">
  • <tr VALIGN="MIDDLE" ALIGN="CENTER">
  • <td WIDTH="10%" ALIGN="center">
  • <a href="agenda.asp?view_date=<%= dateadd("m", -1, dateMoisCourant) %>"><<</a>
  • </td>
  • <td WIDTH="80%">
  • <font FACE="Arial" COLOR="#000000">
  • <b><small><%=MonthName(Month(dateMoisCourant)) & " " & Year(dateMoisCourant)%></small></b>
  • </font>
  • </td>
  • <td WIDTH="10%" ALIGN="center">
  • <a href="agenda.asp?view_date=<%= dateadd("m", 1, dateMoisCourant) %>">>></a>
  • </td>
  • </tr>
  • </table>
  • </td>
  • </tr>
  • <tr VALIGN="TOP" ALIGN="CENTER" BGCOLOR="#000099">
  • <% For iDay = vbSunday To vbSaturday %>
  • <th WIDTH="14%"><font FACE="Arial" SIZE="-2" COLOR="#FFFFFF"><%=left(WeekDayName(iDay), 3)%></font></th>
  • <%Next %>
  • </tr>
  • <%
  • dateTmpCourant = DtPrevSunday(dateMoisCourant)
  • For iWeek = 0 To 5
  • Response.Write "<TR VALIGN=TOP>" & vbCrLf
  • Dim sBGCOLOR
  • sBGCOLOR = "#52B4CB"
  • sfontColor = "#000000"
  • For jour = 0 To 6
  • sBGCOLOR = "#52B4CB"
  • If Month(dateTmpCourant) = Month(dateMoisCourant) Then
  • ' Si on est sur le mois en cours
  • if cint(Day(dateTmpCourant)) = cint(day(DateAVoir)) then
  • ' Si jour sélectionné, ou jour d'aujourd'hui
  • if (cint(Day(dateTmpCourant)) = cint(day(date()))) AND (Month(dateTmpCourant) = Month(date())) then
  • ' Aujourd'hui
  • sBGCOLOR = "#0000FF"
  • elseif Month(dateTmpCourant) = Month(date()) then
  • sBGCOLOR = "#DCF0F4"
  • sfontColor = "#FF0000"
  • end if
  • 'else
  • ' if cint(Day(dateTmpCourant)) = cint(day(date())) AND (Month(dateTmpCourant) = Month(date())) then
  • ' Aujourd'hui
  • 'sBGCOLOR = "#0000FF"
  • ' elseif Month(dateTmpCourant) = Month(date()) then
  • ' sBGCOLOR = "#52B4CB"
  • ' end if
  • 'sBGCOLOR = "#99ccff"
  • end if
  • ' On va vérifier s'il y a au moins un évenement ce jour au quel cas on change la couleur
  • if aganda_recherche_evenement (day(dateTmpCourant) & "/" & monthname(month(dateTmpCourant)) & "/" & year(dateTmpCourant)) = "oui" then
  • sBGCOLOR = "#3BA554"
  • end if
  • else
  • ' c'est encore le mois précédent
  • sBGCOLOR = "#52B4CB"
  • End If
  • Response.Write "<TD HEIGHT=20 bgcolor='" & sBGCOLOR & "' >"
  • If Month(dateTmpCourant) = Month(dateMoisCourant) Then
  • If dateTmpCourant = dtToday Then
  • sFontColor = "#ff0000"
  • Else
  • sFontColor = "#00000"
  • End If
  • Response.Write "<a href=agenda.asp?" & "view_date=" & day(dateTmpCourant) & "/" & monthname(month(dateTmpCourant)) & "/" & year(dateTmpCourant) & ">"
  • Response.Write "<FONT FACE=""verdana"" SIZE=""-2"" COLOR=""" & sFontColor & """><B>"
  • Response.Write Day(dateTmpCourant) & "</a></B></FONT><BR>"
  • End If
  • Response.Write "</TD>" & vbCrLf
  • dateTmpCourant = DateAdd("d", 1, dateTmpCourant)
  • Next
  • Response.Write "</TR>" & vbCrLf
  • Next
  • %>
  • <%
  • Response.Write "</table>"
  • End Function
  • '--------------------------------------------------------------------------------
  • ' Function seance_rechercher(VoirDate)
  • ' Affiche le résultat de la recherche
  • ' Argument(s) : VoirDate
  • '
  • '--------------------------------------------------------------------------------
  • Function evenement_recherche (VoirDate)
  • Set rsEvenement = server.CreateObject("ADODB.Recordset")
  • if Request.QueryString("tous") = "jour" then
  • strSql = "SELECT Agenda.* FROM Agenda WHERE " _
  • & " month(dateEvenement)= " & month(VoirDate) & " and year(dateEvenement) = " & year(VoirDate) & " AND day(dateEvenement) = " & day(VoirDate) & " ORDER BY DateEvenement"
  • elseif Request.QueryString("tous") = "mois" then
  • strSql = "SELECT Agenda.* FROM Agenda WHERE " _
  • & " month(dateEvenement)= " & month(VoirDate) & " and year(dateEvenement) = " & year(VoirDate) & " ORDER BY DateEvenement"
  • else
  • strSql = "SELECT Agenda.* FROM Agenda WHERE " _
  • & " month(dateEvenement)= " & month(VoirDate) & " and year(dateEvenement) = " & year(VoirDate) & " AND day(dateEvenement) = " & day(VoirDate) & " ORDER BY DateEvenement"
  • end if
  • rsEvenement.Open StrSql, DBConn
  • %>
  • <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
  • <tr>
  • <td width="50%" align="center" height="5" class="haut_milieu"><br>
  • <%agenda_recherche("" & VoirDate & "")%>
  • </td>
  • </tr>
  • <tr>
  • <td valign="top"><br>
  • <div align="center"><font size="1"><b>Liste des évenements du <%=VoirDate%></b></font></div>
  • <%
  • if rsEvenement.eof then
  • Response.Write "<div align=center><br><font face=verdana size=1 color=#000080>Aucun événement ce jour.</font><br></div>"
  • end if
  • do while not rsEvenement.eof
  • if trim(rsEvenement("description")) = "" then
  • Response.Write "<li><font color='#4E6FB7' size='2'><b>" & rsEvenement("Libelle") & "</b></font></li><br>"
  • else
  • Response.Write "<li><a href='#' onClick='voirEvenement(" & rsEvenement("idAgenda") & ");'><font color='#4E6FB7' size='2'><b><u>" & rsEvenement("Libelle") & "</u></b></font></a></li><br>"
  • end if
  • rsEvenement.movenext
  • Loop
  • rsEvenement.close()
  • set rsEvenement=nothing
  • %>
  • </td>
  • </tr>
  • </table>
  • <%
  • DBConn.Close
  • set DBConn = nothing
  • End Function
  • '----------------------------------
  • ' Affichage de la page
  • ' Appel aux différentes fonctions
  • '----------------------------------
  • %>
  • <html>
  • <head>
  • <title>Agenda</title>
  • <script language="javascript">
  • function voirEvenement(idEvenement) {
  • lien = "user_agenda_fiche.asp?idEvenement=" + idEvenement;
  • open(lien,'Agenda','width=700,height=500,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,top=10,left=10');
  • }
  • </script>
  • </head>
  • <body bgcolor="#FFFFFF">
  • <table width="60%" align="center">
  • <tr>
  • <td align="left" valign="top" width="572" height="395" bgcolor="#FFFFFF">
  • <%
  • Select Case Request("action")
  • case default
  • if Request("view_date") <> "" then
  • evenement_recherche(Request("view_date"))
  • else
  • evenement_recherche(date())
  • end if
  • End Select
  • %>
  • </td>
  • </tr>
  • </table>
  • </body>
  • </html>
' ##############################################################
' Agenda.asp
' Affiche un agenda d'événement (configurer ici pour SQL Server)
' Romain Mourer @2002
' romain_mourer@yahoo.fr
' ##############################################################

<!-- #include file='connexion.asp' -->
<%
Function DtPrevSunday(ByVal dt)
	' Cette foction va renvoyer la date du premier jour à afficher sur
	' le calendrier (en général jour du mois précédent)
	Do While WeekDay(dt) > vbSunday
		dt = DateAdd("d", -1, dt)
    Loop
	DtPrevSunday = dt
End Function
'--------------------------------------------------

dim rsEvenement

'----------------------------------------------------------
' Function aganda_recherche_evenement(DateMois)
' Cherche s'il existe un événement à la date donnée
' Argument(s) : DateMois
'----------------------------------------------------------
Function aganda_recherche_evenement(DateMois)
	Set rsRecherche = server.CreateObject("ADODB.Recordset")

	strSql = "SELECT Agenda.* FROM Agenda WHERE " _
		& " month(dateEvenement)= " & month(DateMois) & " and year(dateEvenement) = " & year(DateMois) & " AND day(dateEvenement) = " & day(DateMois) & " ORDER BY DateEvenement"
		
	rsRecherche.Open StrSql, DBConn
	if not rsRecherche.eof then
		aganda_recherche_evenement = "oui"
	else
		aganda_recherche_evenement = "non"
	end if
	
	rsRecherche.close
	set rsRecherche=nothing
End Function

'----------------------------------------------------------
' Function seance_recherche_Annee(DateAVoir)
' Affiche le calendrier de recherche d'un événement
' Argument(s) : DateAVoir
'----------------------------------------------------------
Function agenda_recherche (DateAVoir)
	Dim dtToday 
	dtToday = Date()

	Dim dateMoisCourant ' Date du 1er jour du mois
	Dim dateTmpCourant ' Date du 1er jour à afficher sur le calendrier
						' en général, jour du mois précédent

	' recherche du premier jour du mois
	dateTmp = DateAVoir
	dateJour = day(dateTmp)
	dateTmp = dateadd("d", (-dateJour+1), dateTmp)

	dateMoisCourant = dateTmp

	Dim iDay, iWeek, sFontColor
%>

    <table CELLPADDING="3" class="Agenda" border="0">
		<tr VALIGN="MIDDLE" ALIGN="CENTER">
			<td COLSPAN="7">
				<table CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" width="100%" class="AgendaMois">
					<tr VALIGN="MIDDLE" ALIGN="CENTER">
						<td WIDTH="10%" ALIGN="center">
							<a href="agenda.asp?view_date=<%= dateadd("m", -1, dateMoisCourant) %>"><<</a>
						</td>
						<td WIDTH="80%">
							<font FACE="Arial" COLOR="#000000">
							<b><small><%=MonthName(Month(dateMoisCourant)) & " " & Year(dateMoisCourant)%></small></b>
							</font>
						</td>
						<td WIDTH="10%" ALIGN="center">
							<a href="agenda.asp?view_date=<%= dateadd("m", 1, dateMoisCourant) %>">>></a>
						</td>
					</tr>
				</table>
			</td>
		</tr>
        <tr VALIGN="TOP" ALIGN="CENTER" BGCOLOR="#000099">
	        <% For iDay = vbSunday To vbSaturday %>
            <th WIDTH="14%"><font FACE="Arial" SIZE="-2" COLOR="#FFFFFF"><%=left(WeekDayName(iDay), 3)%></font></th>
		    <%Next %>
        </tr>
<%

	dateTmpCourant = DtPrevSunday(dateMoisCourant)
	
	For iWeek = 0 To 5
		Response.Write "<TR VALIGN=TOP>" & vbCrLf

		Dim sBGCOLOR 
		sBGCOLOR = "#52B4CB"
		sfontColor = "#000000"
		For jour = 0 To 6
			sBGCOLOR = "#52B4CB"
			If Month(dateTmpCourant) = Month(dateMoisCourant) Then
				' Si on est sur le mois en cours
				if cint(Day(dateTmpCourant)) = cint(day(DateAVoir)) then
					' Si jour sélectionné, ou jour d'aujourd'hui
					if (cint(Day(dateTmpCourant)) = cint(day(date()))) AND (Month(dateTmpCourant) = Month(date())) then 
						' Aujourd'hui
						sBGCOLOR = "#0000FF"
					elseif Month(dateTmpCourant) = Month(date()) then
						sBGCOLOR = "#DCF0F4"
						sfontColor = "#FF0000"
					end if
				'else
				'	if cint(Day(dateTmpCourant)) = cint(day(date()))  AND (Month(dateTmpCourant) = Month(date())) then 
						' Aujourd'hui
						'sBGCOLOR = "#0000FF"
				'	elseif Month(dateTmpCourant) = Month(date()) then
				'		sBGCOLOR = "#52B4CB"
				'	end if
					'sBGCOLOR = "#99ccff"
				end if
				
				' On va vérifier s'il y a au moins un évenement ce jour au quel cas on change la couleur
				if aganda_recherche_evenement (day(dateTmpCourant) & "/" & monthname(month(dateTmpCourant)) & "/" & year(dateTmpCourant)) = "oui" then
					sBGCOLOR = "#3BA554"
				end if
			else
				' c'est encore le mois précédent
				sBGCOLOR = "#52B4CB"
			End If
			
			Response.Write "<TD HEIGHT=20 bgcolor='" & sBGCOLOR & "' >"
         
  			If Month(dateTmpCourant) = Month(dateMoisCourant) Then
				If dateTmpCourant = dtToday Then
					sFontColor = "#ff0000"
	            Else
					sFontColor = "#00000"
				End If
             
				Response.Write "<a href=agenda.asp?" & "view_date=" & day(dateTmpCourant) & "/" & monthname(month(dateTmpCourant)) & "/" & year(dateTmpCourant) & ">"
				Response.Write "<FONT FACE=""verdana"" SIZE=""-2"" COLOR=""" & sFontColor & """><B>"
				Response.Write Day(dateTmpCourant) & "</a></B></FONT><BR>"

			End If

			Response.Write "</TD>" & vbCrLf
			dateTmpCourant = DateAdd("d", 1, dateTmpCourant)
		Next
		Response.Write "</TR>" & vbCrLf 
	Next
%>
<%
	Response.Write "</table>"
	
End Function

'--------------------------------------------------------------------------------
' Function seance_rechercher(VoirDate)
' Affiche le résultat de la recherche
' Argument(s) : VoirDate
'				
'--------------------------------------------------------------------------------
Function evenement_recherche (VoirDate)
	
	Set rsEvenement = server.CreateObject("ADODB.Recordset")

	if Request.QueryString("tous") = "jour" then
		strSql = "SELECT Agenda.* FROM Agenda WHERE " _
		& " month(dateEvenement)= " & month(VoirDate) & " and year(dateEvenement) = " & year(VoirDate) & " AND day(dateEvenement) = " & day(VoirDate) & " ORDER BY DateEvenement"
	elseif Request.QueryString("tous") = "mois" then
		strSql = "SELECT Agenda.* FROM Agenda WHERE " _
		& " month(dateEvenement)= " & month(VoirDate) & " and year(dateEvenement) = " & year(VoirDate) & " ORDER BY DateEvenement"
	else
		strSql = "SELECT Agenda.* FROM Agenda WHERE " _
			& " month(dateEvenement)= " & month(VoirDate) & " and year(dateEvenement) = " & year(VoirDate) & " AND day(dateEvenement) = " & day(VoirDate) & " ORDER BY DateEvenement"
	end if
	rsEvenement.Open StrSql, DBConn
	%>
	
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
	<tr>
		<td width="50%" align="center" height="5" class="haut_milieu"><br>
			<%agenda_recherche("" & VoirDate & "")%>
		</td>
	</tr>
	<tr>
		<td valign="top"><br>
			<div align="center"><font size="1"><b>Liste des évenements du <%=VoirDate%></b></font></div>
			<%
			if rsEvenement.eof then
				Response.Write "<div align=center><br><font face=verdana size=1 color=#000080>Aucun événement ce jour.</font><br></div>"
			end if
			do while not rsEvenement.eof
				if trim(rsEvenement("description")) = ""  then
					Response.Write "<li><font color='#4E6FB7' size='2'><b>" & rsEvenement("Libelle") & "</b></font></li><br>"
				else
					Response.Write "<li><a href='#' onClick='voirEvenement(" & rsEvenement("idAgenda") & ");'><font color='#4E6FB7' size='2'><b><u>" & rsEvenement("Libelle") & "</u></b></font></a></li><br>"
				end if
				rsEvenement.movenext
			Loop
			rsEvenement.close()
			set rsEvenement=nothing
			%>
		</td>
	</tr>
</table>
<%
	DBConn.Close
	set DBConn = nothing
End Function

'----------------------------------
' Affichage de la page
' Appel aux différentes fonctions
'----------------------------------
%>
<html>
<head>
<title>Agenda</title>
<script language="javascript">
function voirEvenement(idEvenement) {
	lien = "user_agenda_fiche.asp?idEvenement=" + idEvenement;
	open(lien,'Agenda','width=700,height=500,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,top=10,left=10');
}
</script>
</head>
<body bgcolor="#FFFFFF">
<table width="60%" align="center">
	<tr>
		<td align="left" valign="top" width="572" height="395" bgcolor="#FFFFFF">
			<%
			Select Case Request("action")
			case default
				if Request("view_date") <> "" then
					evenement_recherche(Request("view_date"))
				else
					evenement_recherche(date())
				end if
			End Select
			%>
		</td>
	</tr>
</table>
</body>
</html> 

Conclusion

Le fichier agenda.asp se trouve dans le zip avec le fichier connexion.asp et la requête de création de la table "Agenda"
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de phildarvador le 23/07/2002 15:03:53

    Ca a l'air bien pratique ton agenda, mais il manque des fichiers. Est-ce que c'est fait exprès pour qu'on fasse la suite nous même ou est -ce un oubli?
    tchôô

    Phildarvador

  • signaler à un administrateur
    Commentaire de rmo le 23/07/2002 15:11:45

    le fichier manquant est en fait "user_agenda_fiche.asp". celui-ci se contente d'afficher la fiche de l'événement sélectionné (id passé en paramètre)
    Le plus important ici était surtout l'agenda, la page affichant l'événement n'est constituée que d'un select sur l'id, et pour moi, n'avait pas ici grand intérêt.

    Romain

  • signaler à un administrateur
    Commentaire de ripox le 07/01/2003 17:35:38

    Liste des évenements du &lt;%=VoirDate%&gt; est une partie du code qui ne peut etre modifier (ou que les modifications n'apparaissent pas) si on clique sur un evenement du calendrier

  • signaler à un administrateur
    Commentaire de adsl le 29/01/2003 09:06:36

    je n'arrive pas à télécharger le fichier zip

    merci

  • signaler à un administrateur
    Commentaire de btsconsult le 29/02/2004 10:44:39

    Bonjour,

    Je n'ai pas de serveur SQL sur mon site, est-il possible d'utiliser une mdb Access...et comment faire ?

    Cordialement

    Michel

  • signaler à un administrateur
    Commentaire de Jackboy le 18/03/2006 00:36:00

    Très bien cette requete sql ( strSql = "SELECT Agenda.* FROM Agenda WHERE " _
            & " month(dateEvenement)= " & month(DateMois) & " and year(dateEvenement) = " & year(DateMois) & " AND day(dateEvenement) = " & day(DateMois) & " ORDER BY DateEvenement") je savais pas qu'ont pouvais utiliser les day, month et year en sql, les erreurs de date fr et eng sont pas mal résolue de cette  maniere. Je me demande si cette requette est possible sous mysql, j'ai testé sous access et ces #1. En passent je ne vois pas pourquoi ce calendrier ne serai pas utilisable access ??

    Merci !

  • signaler à un administrateur
    Commentaire de rmo le 18/03/2006 10:13:28

    Cette outil peux tout à fait fonctionner sous Access, et la requête, avec quelques modifs, fonctionnera très bien sous mySql.

    A+

  • signaler à un administrateur
    Commentaire de libellule685 le 27/04/2006 01:56:46

    Bonjour,
    Je recherche un moyen de créer une base de données à l'aide d'access afin de gérer des agendas. J'aimerais que cette base de données me permette de calculer le nombre de consultation par thérapeute, combien de visite par client durant une année... Est-ce possible?

    Merci!

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS