To cover all supported DB types, change the function thus:
Function BirthMail
strSql = "SELECT M_NAME, MEMBER_ID, M_EMAIL, M_RECEIVE_EMAIL, M_DOB, M_SENT_DOBMAIL FROM " & strMemberTablePrefix & "MEMBERS WHERE "
if strDBType="sqlserver" or strDBType="mysql" then
strSql = strSql & "SUBSTRING(M_DOB,5,4) ='" & MID(DATETOSTR(STRFORUMTIMEADJUST),5,4) & "' ORDER BY M_DOB"
else
strSql = strSql & "MID(M_DOB,5) ='" & MID(DATETOSTR(STRFORUMTIMEADJUST),5,4) & "' ORDER BY M_DOB"
end if
set rsBirthMail = my_Conn.Execute(strSql)
if not rsBirthMail.EOF then
rsBirthMail.MoveFirst
Do while not rsBirthMail.EOF
strSent=rsBirthMail("M_SENT_DOBMAIL")
strYY=left(DatetoStr(strForumTimeAdjust),4)
If isNull(strSent) or (strSent <> strYY) then
strFromName = strForumTitle
strRecipientsName = rsBirthMail("M_NAME")
strRecipients = rsBirthMail("M_EMAIL")
strSender = strSender
strSubject = "Happy Birthday!"
strMessage = "Dear " & rsBirthMail("M_NAME")
strMessage = strMessage & "<br><br>Happy birthday from everyone at <a href=" & strForumURL & ">" & strForumTitle & "</a>." & vbNewline & vbNewline
htmlflag = 0
if rsBirthMail("M_RECEIVE_EMAIL") = 1 then
%><!--#INCLUDE FILE="inc_mail_html.asp" --><%
end if
strMessage =""
strSql = " UPDATE " & strMemberTablePrefix & "MEMBERS SET M_SENT_DOBMAIL = '" & strYY & "' WHERE MEMBER_ID = " & rsBirthMail("MEMBER_ID")
my_Conn.Execute(strSql)
end if
rsBirthMail.MoveNext
Loop
rsBirthMail.Close
end if
set rsBirthMail = Nothing
End Function