Author |
Topic |
macho
Junior Member
Denmark
150 Posts |
Posted - 09 August 2002 : 18:09:58
|
In the Events Calendar I would very much like to have the opportunity of making an added event recurring, like every monday, every week, every month etc... I made a search within Snitz Forums 2000 but only found one result: http://forum.snitz.com/forum/topic.asp?ARCHIVE=true&TOPIC_ID=12452 That very small discussion is more than one year old.
Has anyone come up with a function how to add recurring events?
regards |
Edited by - macho on 09 August 2002 23:35:36 |
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 09 August 2002 : 19:38:57
|
You will need to add another field in the Events table. The values for which may be like
0 = One time only 1 = once a year 2 = every month 3 = every week on same day 4 = every day
Then depending on the value of that field you will check the MMDD (Month and Day) for Yearly events and DD (Day only) for Monthly events and Weekday(YYYYMMDD) (day of the week) for weekly events and daily is everyday. |
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
|
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 09 August 2002 : 19:48:28
|
Call EventRepeat(Event_Repeat, Event_Date) if EventRepeat then Rem -Display the Event End if Function EventRepeat(intRepeat, DateIn) EventRepeat = False Select Case intRepeat Case 0 Rem -One Time Event if DateIn = Date then EventRepeat = True Case 1 Rem -Repeat Every Year if Month(DateIn) = Month(Date) and Day(DateIn) = Day(Date) EventRepeat = True end if Case 2 Rem -Repeat Every Month if Day(DateIn) = Day(Date) EventRepeat = True end if Case 3 Rem -Repeat Every Week if WeekDay(DateIn) = WeekDay(Date) EventRepeat = True end if Case 4 Rem -Repeat Every Day EventRepeat = True End select End Function
|
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 09 August 2002 : 21:30:10
|
I added this to events_functions.asp:
quote: Originally posted by GauravBhabu
Call EventRepeat(Event_Repeat, Event_Date) if EventRepeat then Rem -Display the Event End if Function EventRepeat(intRepeat, DateIn) EventRepeat = False Select Case intRepeat Case 0 Rem -One Time Event if DateIn = Date then EventRepeat = True Case 1 Rem -Repeat Every Year if Month(DateIn) = Month(Date) and Day(DateIn) = Day(Date) EventRepeat = True end if Case 2 Rem -Repeat Every Month if Day(DateIn) = Day(Date) EventRepeat = True end if Case 3 Rem -Repeat Every Week if WeekDay(DateIn) = WeekDay(Date) EventRepeat = True end if Case 4 Rem -Repeat Every Day EventRepeat = True End select End Function
But how do I implement the next part:
quote:
You will need to add another field in the Events table. The values for which may be like
0 = One time only 1 = once a year 2 = every month 3 = every week on same day 4 = every day
I've also added a field, Event_Repeat to the Events table.
Can you explain, a little more in details, what to do next? |
|
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 09 August 2002 : 21:36:39
|
You also need to add a field in the form, best option will be to have a select box with options for repeat frequency with values as mentioned above and save the frequency value in the database for each event. Once you have done that then you will retrieve the records from the database with the event repeat field. And then you can call the function to determine whether that event should be displayed or not. The code I posted above will work. |
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
Edited by - GauravBhabu on 09 August 2002 21:37:19 |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 09 August 2002 : 21:54:07
|
This seems to be much more complicated to me than I thought , so I think I will leave for a while! - tks for your time (help)... |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 09 August 2002 : 23:01:56
|
Well, I couldn't leave just like this.
I've added this function to events_functions.asp:
Call EventRepeat(Event_Repeat, Event_Date) if EventRepeat then Rem -Display the Event End if Function EventRepeat(intRepeat, DateIn) EventRepeat = False Select Case intRepeat Case 0 Rem -One Time Event if DateIn = Date then EventRepeat = True Case 1 Rem -Repeat Every Year if Month(DateIn) = Month(Date) and Day(DateIn) = Day(Date) then EventRepeat = True end if Case 2 Rem -Repeat Every Month if Day(DateIn) = Day(Date) then EventRepeat = True end if Case 3 Rem -Repeat Every Week if WeekDay(DateIn) = WeekDay(Date) then EventRepeat = True end if Case 4 Rem -Repeat Every Day EventRepeat = True End select End Function
I added this to my form where I post events (in events_functions.asp):
<select name="EventRepeat" size="1"> <option selected value="0">One time only</option> <option value="1">Once a year</option> <option value="2">Every month</option> <option value="3">Every week on the same day</option> <option value="4">Every day</option> </select>
Now I have the field to select wether the events should be repeated or not, but when trying to submit an event I get this error message:
quote:
Microsoft JET Database Engine error '80004005'
The field 'FORUM_EVENTS.EVENT_REPEAT' cannot contain a Null value because the Required property for this field is set to True. Enter a value in this field. events_functions.asp, line 296
What am I doing wrong?
|
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 10 August 2002 : 09:50:28
|
Can anyone guide me through this, plz? |
|
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 10 August 2002 : 10:18:16
|
Okay, You are oving in the right direction, now you need to modify the Insert Query which saves the events in the Database. The query is build at around line 290 or so. |
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 10 August 2002 : 11:12:44
|
This is what it look like (before editing anything), starting with line 274 at events_functions.asp:
If bError = False Then ' If the end date is blank, it equals start date If Trim(sEnd_Date) <> "" Then enddate = CDate(Request.Form("END_DATE")) Else enddate = CDate(Request.Form("START_DATE")) End If
sSql = "Select Member_ID from " & strMemberTablePrefix & "Members where " & strDBNTSQLName & " = '" & strDBNTUserName & "'" dim rs set rs = server.CreateObject("adodb.recordset") rs.Open sSql, my_Conn memberid = rs("Member_ID") rs.close set rs = nothing ' Depending on the Mode, open the Recordset in eith Add or Edit mode If sUpdateMode = "edit" Then sSQL = "UPDATE " & strTablePrefix & "EVENTS SET Start_Date = '" & UKDateToStr(Request.Form("START_DATE")) & "', End_Date = '" & UKDateToStr(enddate) & "', Event_Title = '" & chkstring(Request.Form("EVENT_TITLE"), "message") & "',PRIVATE = " & intPrivateEvent sSQL = sSQL & ", Event_Details = '" & chkstring(Request.Form("Message"), "message") & "', date_added = '" & DateToStr(now()) & "' WHERE Event_ID=" & Request.Form("Event_ID") my_Conn.Execute sSQL Else sSQL = "INSERT INTO " & strTablePrefix & "EVENTS (Start_Date, End_Date, Event_Title, Event_Details, Date_Added, Added_by, PRIVATE) Values ('" & UKDateToStr(Request.Form("START_DATE")) & "', '" & UKDateToStr(enddate) & "',' " & chkstring(Request.Form("EVENT_TITLE"), "message") & "', '" & chkstring(Request.Form("Message"), "message") & "', '" & DateToStr(now()) & "', " & memberid & "," & intPrivateEvent & ")" my_Conn.Execute sSQL End If If sUpdateMode = "ADD" Then sTitle = "<br>Event added - thank you!" Else sTitle = "<br>Event updated - thank you!" End If Else
Where and how do I modify the Insert Query? |
|
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 10 August 2002 : 12:16:46
|
Make the changes to the code as shown in red below
quote: Originally posted by macho
This is what it look like (before editing anything), starting with line 274 at events_functions.asp:
If bError = False Then ' If the end date is blank, it equals start date If Trim(sEnd_Date) <> "" Then enddate = CDate(Request.Form("END_DATE")) Else enddate = CDate(Request.Form("START_DATE")) End If intEventRepeat = Request.Form("EventRepeat") sSql = "Select Member_ID from " & strMemberTablePrefix & "Members where " & strDBNTSQLName & " = '" & strDBNTUserName & "'" dim rs set rs = server.CreateObject("adodb.recordset") rs.Open sSql, my_Conn memberid = rs("Member_ID") rs.close set rs = nothing ' Depending on the Mode, open the Recordset in eith Add or Edit mode If sUpdateMode = "edit" Then sSQL = "UPDATE " & strTablePrefix & "EVENTS SET Start_Date = '" & UKDateToStr(Request.Form("START_DATE")) & "', End_Date = '" & UKDateToStr(enddate) & "', Event_Title = '" & chkstring(Request.Form("EVENT_TITLE"), "message") & "',PRIVATE = " & intPrivateEvent & ",EVENT_REPEAT = " & intEventRepeat sSQL = sSQL & ", Event_Details = '" & chkstring(Request.Form("Message"), "message") & "', date_added = '" & DateToStr(now()) & "' WHERE Event_ID=" & Request.Form("Event_ID") my_Conn.Execute sSQL Else sSQL = "INSERT INTO " & strTablePrefix & "EVENTS (Start_Date, End_Date, Event_Title, Event_Details, ' & Date_Added, Added_by, PRIVATE, EVENT_REPEAT) Values ('" & UKDateToStr(Request.Form("START_DATE")) & "', '" & UKDateToStr(enddate) & "',' " & chkstring(Request.Form("EVENT_TITLE"), "message") & "', '" & chkstring(Request.Form("Message"), "message") & "', '" & DateToStr(now()) & "', " & memberid & "," & intPrivateEvent & intEventRepeat & ")" my_Conn.Execute sSQL End If If sUpdateMode = "ADD" Then sTitle = "<br>Event added - thank you!" Else sTitle = "<br>Event updated - thank you!" End If Else
Where and how do I modify the Insert Query?
|
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
Edited by - GauravBhabu on 10 August 2002 12:17:19 |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 10 August 2002 : 12:47:43
|
Okay, now it is saving the Case in the Events_Repeat table (0, 1, 2, 3 or 4).
Unfortunately it doesn't make any changes to the calendar. If I add an event, starting 10 August 2002 ending 10 November 2002 and select that it should be recurring every week, it is still being displayed every day in the selected period!
Any suggestions? |
|
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 10 August 2002 : 13:11:16
|
Now when you retreive the events, you need to call the function before displaying the events. If function returns true display the event else no. |
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 10 August 2002 : 13:26:37
|
Okay, but I would appreciate if can you also show me how to call the function before displaying the events? |
|
|
GauravBhabu
Advanced Member
4288 Posts |
Posted - 10 August 2002 : 19:50:58
|
function DisplayEvents is used for displaying events. Modify the queries within that function, by including the Event_Repeat field in the query, to retrieve the values from Event_Repeat field.
Then just after the Do While NOT Rs.EOF, statement call the function EventRepeat by adding the following statements
if EventRepeat(strtodate(Rs("START_DATE")), RS("EVENT_REPEAT"))then
And then just before the rs.movenext add the following statement
End if
|
CSS and HTML4.01 Compilant Snitz Forum . ForumSquare . Rakesh Jain
It is difficult to IMPROVE on Perfection, There is no harm in Keep Trying.
Prayer Of Forgiveness "I forgive all living beings. May all living beings forgive me! I cherish the friendliness towards all and harbour enmity towards none." -- Aavashyaka Sutra(Translated) |
Edited by - GauravBhabu on 10 August 2002 19:54:36 |
|
|
macho
Junior Member
Denmark
150 Posts |
Posted - 11 August 2002 : 02:20:08
|
It still won't work for me. I've added what you suggested (sorry, that I don't understand ASP so good). When display events by month or week view they are still showing every day, even though they should be repeated only once a week.
I may have done something wrong, because I get this error message now, when trying to view events for a specific day:
ADODB.Fields error '800a0cc1'
Unknown runtime error
events_functions.asp, line 980
Line 980 is the following statement I added: if EventRepeat(strtodate(Rs("START_DATE")), RS("EVENT_REPEAT"))then
Here's how my function DisplayEvents looks now, but something is absolutely still wrong; Text in red is what I added after your last post.:
function DisplayEvents()
if smode = "edit" then ' Create a recordset and open the given event. If the Record is not found ' set the mode to ADD sSQL = "SELECT start_date, end_date, event_repeat, event_title, PRIVATE, event_details FROM " & strTablePrefix & "EVENTS WHERE Event_ID = " & Request.QueryString("Event_ID") set rs = server.CreateObject("adodb.recordset") Rs.MaxRecords = 1 Rs.Open sSQL, my_Conn If Not Rs.EOF Then sStart_Date = chkDate(Rs("Start_Date")) sEnd_Date = chkDate(Rs("End_Date")) sEvent_Title = Rs("Event_Title") sEvent_Details = Rs("Event_Details") iEvent_Private = RS("PRIVATE") end if Response.Write "Ret: " & sEvent_Title %> </td> </tr> <tr> <td <% =strPopUpBorderColor %>> <% if mlev >= intAllowed then Show_Form() else %> <br><br> <table bgcolor="<% =strTableBorderColor %>" border="0" cellpadding="0" cellspacing="0" width="450" ALIGN=CENTER> <tr> <td bgcolor="black" align="center" valign="top"> <table border="0" cellpadding="4" cellspacing="1" width="100%" height="100%"> <tr> <td align="center" bgcolor="<% =strForumCellColor %>"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>">Kun moderatorer kan rette en begivenhed.</font></td> </tr> </table> </td> </tr> </table> <% end if rs.close set rs = nothing exit function end if
if smode = "add" then
Response.Write "Tilføj en begivenhed" & sEvent_Title %> </td> </tr> <tr> <td> <% if mlev >= intAllowed then Show_Form() else %> <br><br> <table bgcolor="<% =strTableBorderColor %>" border="0" cellpadding="0" cellspacing="0" width="450" ALIGN=CENTER> <tr> <td bgcolor="black" align="center" valign="top"> <table border="0" cellpadding="4" cellspacing="1" width="100%" height="100%"> <tr> <td align="center" bgcolor="<% =strForumCellColor %>"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>">Kun moderatorer kan tilføje en begivenhed.</font></td> </tr> </table> </td> </tr> </table> <% end if exit function end if 'if no date is set, select the events for the whole month, else select events for that day If IsEmpty(myDate) OR NOT IsDate(myDate) Then ' These dates are used in the SQL strMonthName = MonthName(intThisMonth) intLastDay = GetLastDay(intThisMonth, intThisYear) dFirstDay = MonthName(intThisMonth) & " 1, " & intThisYear dLastDay = MonthName(intThisMonth) & " " & intLastDay & ", " & intThisYear Response.Write "Begivenheder for " & strMonthName sSQL = "SELECT event_id, start_date, end_date, event_title, PRIVATE, " & strDBNTSQLName & ", event_details FROM " & strTablePrefix & "EVENTS Inner JOIN " & strMemberTablePrefix & "Members ON " & strTablePrefix & "EVENTS.added_by = " & strMemberTablePrefix & "Members.Member_ID WHERE " & _ "(Start_Date >='" & DateToStr(dFirstDay) & "' AND Start_Date <= '" & DateToStr(dLastDay) & "') " & _ "OR " & _ "(End_Date >='" & DateToStr(dFirstDay) & "' AND End_Date <= '" & DateToStr(dLastDay) & "') " & _ "OR " & _ "(Start_Date < '" & DateToStr(dFirstDay) & "' AND End_Date > '" & DateToStr(dLastDay) & "' )" & _ "ORDER BY Start_Date" Else Response.Write "Begivenheder for " & WeekdayName(Weekday(myDate)) & " " & FormatDateTime(dDate, 1) WeekNumber = DatePart("ww", myDate, 2, vbFirstFourDays) Response.Write" - uge " & (WeekNumber) sSQL = "SELECT event_id, start_date, end_date, event_title, PRIVATE, " & strDBNTSQLName & ", event_details FROM " & strTablePrefix & "EVENTS Inner JOIN " & strMemberTablePrefix & "Members ON " & strTablePrefix & "EVENTS.added_by = " & strMemberTablePrefix & "Members.Member_ID " & _ "WHERE Start_Date <= '" & DateToStr(dDate) & "' AND End_Date >= '" & DateToStr(ddate) & "' ORDER BY Event_ID "
End If %>
</td> </tr> <tr> <td align=center> <% if strCMessage <> "" then Response.Write "<font face=" & strDefaultFontFace & " size=" & strDefaultFontSize & ">" & strCMessage & "</font>" %> </td> </tr> <tr> <td> <% end if if sTitle <> "" then%> <% =sTitle %><br>
</td> </tr> <tr> <td> <% end if
' Open a record set of schedules 'Response.Write ssql dim rs, strMessage Set Rs = Server.CreateObject("ADODB.RecordSet") 'Response.Write ssql Rs.Open sSQL, my_Conn if rs.eof or rs.bof then rs.close sSQL = "SELECT event_id, start_date, end_date, event_title, PRIVATE, event_details FROM " & strTablePrefix & "EVENTS " & _ "WHERE Start_Date <= '" & DateToStr(dDate) & "' AND End_Date >= '" & DateToStr(dDate) & "' ORDER BY Event_ID " 'response.write ssql Rs.Open sSQL, my_Conn MemberErased = true end if If NOT Rs.EOF Then Do While NOT Rs.EOF if EventRepeat(strtodate(Rs("START_DATE")), RS("EVENT_REPEAT"))then if (rs("PRIVATE") <> 1) or (rs("PRIVATE") = 1 and lcase(rs(strDBNTSQLNAME)) = lcase(strDBNTUSerName)) then%> <br> <table align="center" width="95%" cellpadding="0" cellspacing="0" border="0" bgcolor="gray"> <tr> <td> <table WIDTH="100%" CELLSPACING="1" BORDER="0" CELLPADDING="3" align="center"> <tr> <td align="left" bgcolor="<% =strHeadCellColor %>"><b><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>" color="<% =strHeadFontColor %>"> <%Response.Write Trim(Rs("Event_Title")) strMessage = Rs("Event_Details")%> <% if not(memberErased) then Response.Write " - Tilføjet af " & "<a href=""pop_profile.asp?mode=display&id=" & getMemberID(rs(strDBNTSQLNAME)) & """><Font face=""" & strDefaultFontFace & """ color=""" & strCategoryFontColor & """ size=""" & strDefaultFontSize & """> " & lcase(rs(strDBNTSQLNAME)) & "</Font></a>" else Response.Write " - Tilføjet af tidligere medlem" end if %> <%If (mlev >= intAllowed) and (lcase(lcase(rs(strDBNTSQLNAME))) = lcase(Request.Cookies(strUniqueID & "User")("Name"))) or mlev >=3 Then%> <%'If mlev >= intAllowed or lcase(strDBNTUSerName) = lcase(rs(strDBNTSQLNAME)) Then%> </font></b></td> <td align="center" BGCOLOR="<%= strCategoryCellColor%>" width="50"> <a HREF="<%= sScript %>?mode=edit&Event_ID=<%= Rs("Event_ID")%>&date=<%=ddate%>"><img SRC="icon_pencil.gif" BORDER="0" WIDTH="12" HEIGHT="12" alt="Ret begivenhed"></a> <a onclick="return confirmSubmit()" HREF="<%= sScript %>?mode=delete&Event_ID=<%=Rs("Event_ID")%>&date=<%= myDate%>"><img SRC="icon_trashcan.gif" BORDER="0" WIDTH="12" HEIGHT="12" alt="Slet begivenhed"></a><br> </td> <%End If%> </tr> <tr> <td height="30" bgcolor="white" <%If mlev >= intAllowed or lcase(strDBNTUSerName) = lcase(rs(strDBNTSQLNAME)) Then Response.Write "colspan=2"%>> <% ' If the event lasts more than one day, indidate the start and end dates If Rs("Start_Date") <> Rs("End_Date") Then Response.Write "<FONT FACE='Verdana, Arial' SIZE=1 COLOR='Gray'>Start: " & chkDate(Rs("Start_Date")) & vbCrLf Response.Write "<BR>****: " & chkDate(Rs("End_Date")) & vbCrLf Response.Write "</FONT><P>" else Response.Write "<FONT FACE='Verdana, Arial' SIZE=1 COLOR='Gray'>Start: " & chkDate(Rs("Start_Date")) & vbCrLf Response.Write "</FONT><P>" End If %> <font color="<% =strForumFontColor %>" face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>"><% =formatStr(strMessage) %><a href="#top"><img src="icon_go_up.gif" height="15" width="15" border="0" align="right" alt="Gå til toppen af siden"></a></font></td> </td> </tr> </table> </td> </tr> </table> <br>
<% end if end if Rs.MoveNext Loop if mlev >= intAllowed then%> <center><a HREF="<%= sScript %>?mode=add&date=<%if myDate= "" then Response.Write(date()) else Response.Write(myDate)%>"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>" color="<% =strDefaultFontColor%>">Tilføj en begivenhed for denne dag</font></a></center> <% end if else
if mlev >= intAllowed then %> <br><br> <table bgcolor="<% =strTableBorderColor %>" border="0" cellpadding="0" cellspacing="0" width="450" ALIGN=CENTER> <tr> <td bgcolor="black" align="center" valign="top"> <table border="0" cellpadding="4" cellspacing="1" width="100%" height="100%"> <tr> <td align="center" bgcolor="<% =strCategoryCellColor %>"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>" color="<% =strHeadFontColor%>">Der er ingen begivenheder for denne dag.</font></td> </tr> <tr> <td align="center" bgcolor="<% =strForumCellColor %>"> <font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>" color="<% =strForumFontColor%>"> Vil du <a HREF="<%= sScript %>?mode=add&date=<%if myDate= "" then Response.Write(date()) else Response.Write(myDate)%>">tilføje en begivenhed</a> for denne dag? </font> <br><br> </td> </tr> </table> </td> </tr> </table> <% end if End If
rs.close set rs = nothing end function
|
|
|
Topic |
|
|
|