Quantcast
Channel: ฟอรัม Getting started with SQL Server
Viewing all articles
Browse latest Browse all 8428

Access to MSSQl 2005 Upgrade Challenge with ASP Web Application

$
0
0

To whom it may concern,

 

I have developed a web application using ASP 3.0 with a Access DB 2002 backend. I have decided to recently to upgrade the database to SQL 2005 but I am having issues that I cannot work out because I am new to MsSql Language. It appears that the FORMAT function in Access does not work in  MsSql ( does not recognise the function ) along with some of the PIVOT and TRANSFORM calls (coming up with "Syntax error near "..."") . Please see the below code. The areas that are showing up as errors when the application is run are highlighted in red.

 

Thanking you in advance

Darren

 

 

<!-- #include file="./../../common/includes/i_header_login.asp" -->

<link href="../../common/css/proceduremanual.css" rel="stylesheet" type="text/css">


<%Sub RecordsetToCSV(ByRef RS, ByVal CSVFilePath, ByVal IncludeFieldNames) 
Set objCSVFile = CreateObject("ADODB.Stream") 
Call objCSVFile.Open
 
If IncludeFieldNames Then  
'string concatenation issues aren't a problem for a small string of field names  
For Each Field In RS.Fields   
If FieldNames = "" Then    
FieldNames = Field.Name   
Else    
FieldNames = FieldNames & "," & Field.Name   
End If 
 
Next    
FieldNames = FieldNames & vbCRLF  
Call objCSVFile.WriteText(FieldNames, 1) 
End If 
 
Call objCSVFile.WriteText(FieldNames & RS.GetString(adClipString, , ",", vbCRLF, "")) 
Call objCSVFile.SaveToFile(CSVFilePath, 2) 
Set objCSVFile = Nothing
End Sub
%>

<%
function evaluate(pFormula, pUserID, pMonth, pYear)
   if isnull(pFormula) then
      evaluate = 0
      exit function
   end if
   x = 0
   key = ""
   zero = "0"
   nine = "9"
   eFormula = ""
   lf = len(pFormula)
   for i = 1 to lf
      c = mid(pFormula,i,1)
      if x = 1 and c >= zero and c <= nine then key = key & c
      if x = 1 and (c < zero or c > nine or i = lf) then
         set rsd = cn.execute("select sum(total) from Data where UserID = " & pUserID & " and month(weekEnding) = " & pMonth & " and year(weekEnding) = " & pYear & " and GroupTaskID=" & key)
         eFormula = eFormula & rsd.fields(0)
         rsd.close
         key = ""
         if c < zero or c > nine then x = 0
      end if
      if c = "v" then
         key = ""
         x = 1
      end if
      if x = 0 then eFormula = eFormula & c
   next
   on error resume next
   evaluate = round(eval(eFormula),0)
   'if err then evaluate = err.description & ": " & eformula
   if err then evaluate = 0
end function
%>

<%
period = split(request.form("period"),",")
if ubound(period) = 1 then
   mmmm = period(0)+0
   yyyy = period(1)+0
else
   mmmm = 0
   yyyy = 0
end if
%>


<div align="left" class="MainBodyText" style="width: 100%; height: 100%">


<div align="left" valign="top" width="200" style="margin:5; padding:3; font-family:arial; font-size:10pt; font-weight:bold; font-color[:#]000000;" >

<%  if session("groupid") = 1 then%>
 <a href="../main/administration.asp"> <<< Administration Home</a><br><br>
 <a href="manager_report.asp"> <<< Managers Report Home</a>
 <%end if %>
 <%if session("groupid") = 2 then%>
 <a href="../main/manager.asp"> <<< Manager Home</a><br><br>
 <a href="manager_report.asp"> <<< Managers Report Home</a>
<%end if %>
 <%if session("groupid") = 3 then%>
 <a href="../main/user.asp"> <<< User Home</a>

 
 <%end if %>
 
 <%if session("groupid") = 4 then%>
 <a href="../main/general.asp"> <<< Home</a><br><br>
 <a href="manager_report.asp"> <<< Managers Report Home</a>

 
 <%end if %>

 

</div>
<p align="center" class="MainBodyText">
<img src="../../images/si.gif" align="center"><br><b>Month to Date Dashboard</b></p>
<p align="center" class="MainBodyText">
To use the Print Page function please select the period required then select
view report. You can then select Print Page which will print out the rendered
page.</p>
<form name="f1" method="POST" action="dialmtd.asp">
<div id="printReady">
<table align="center" border="0" width="663" style="border-collapse: collapse" bordercolor="#111111" cellpadding="2">
   <tr>
  
   <td align="left" width="127"><font face="Arial" size="2">
   <select name="benchmarkgroup" style="color: #000000; border: 0px solid #000000; background-color: #FFE737">
   <option value="0" <%if request.form("benchmarkgroup") = "" then response.write "selected"%>>Select Report
<% set rs = cn.execute("select TaskGroupID,TaskGroup from BenchmarkGroups where Active = 1 order by TaskGroupID")
   do until rs.eof
      if request.form("taskgroupid")+0 = rs.fields(0) then selected = "selected" else selected = "" %>
      <option value=<%=rs.fields(0) & " " & selected%>><%=rs.fields(1)%>
<%    rs.movenext
   loop
   rs.close %>
   </select>
   </td>
  
   <td align="left" width="143"><font face="Arial" size="2">
   <select name="period">
   <option value="" <%if request.form("period") = "" then response.write "selected"%>>Select Period
<% set rs = cn.execute("select year(WeekEnding), month(WeekEnding), format(Weekending,""mmmm yyyy"") from data group by Year(WeekEnding), Month(WeekEnding), format(WeekEnding,""mmmm yyyy"") order by 1,2")
   do until rs.eof
      x = rs.fields(1) & "," & rs.fields(0)
      if request.form("period") = x then selected = "selected" else selected = "" %>
      <option value=<%=x & " " & selected%>><%=rs.fields(2)%>
<%    rs.movenext
   loop
   rs.close %>
   </select>
   </td>
  
   <td align="left" width="117"><font face="Arial" size="2">
   <select name="stateid">
   <option value="0" <%if request.form("stateid") = "" then response.write "selected"%>>All States
<% set rs = cn.execute("select stateid,state from tblState where benchmarkactive order by state")
   do until rs.eof
      if request.form("stateid")+0 = rs.fields(0) then selected = "selected" else selected = "" %>
      <option value=<%=rs.fields(0) & " " & selected%>><%=rs.fields(1)%>
<%    rs.movenext
   loop
   rs.close %>
   </select>
   </td>

   <td align="left" width="127"><font face="Arial" size="2">
   <select name="countryid">
   <option value="0" <%if request.form("countryid") = "" then response.write "selected"%>>All Countries
<% set rs = cn.execute("select countryid,country from tblCountry where benchmarkactive order by country")
   do until rs.eof
      if request.form("countryid")+0 = rs.fields(0) then selected = "selected" else selected = "" %>
      <option value=<%=rs.fields(0) & " " & selected%>><%=rs.fields(1)%>
<%    rs.movenext
   loop
   rs.close %>
   </select>
   </td>
 <td align="left" width="129"><input type="image" src="../../Images/view-report.gif" onclick="f1.submit()" name="f1" alt="Click Here to Generate Report"></td>
    <td width="127"><input type="image" src="../../Images/print-report.gif" rname="printMe" onClick="printSpecial()" alt="Click Here to Print the Page"></td>


   </tr>
</table>

<% if mmmm > 0 then %>
<table border="0" width="450" align="left" style="margin-left:10px; border-collapse: collapse" bordercolor="#111111" cellpadding="2" cellspacing="4">
<thead>
   <tr>
<% sql = " where 1 = 1 AND BenchmarkGroup =" & request("benchmarkgroup")
   if request.form("stateid")+0 then sql = sql & " and stateid = " & request.form("stateid")
   if request.form("countryid")+0 then sql = sql & " and countryid = " & request.form("countryid")
   set rs = cn.Execute("TRANSFORM First(UserID) SELECT description, minimum, mintype, formula FROM BenchmarksActiveUsers" & sql & " GROUP BY displayOrder, description, minimum, mintype, formula ORDER BY displayOrder PIVOT Name")
   lastfield = rs.fields.count-1
   s = 4 %>
   <td align="left" bgcolor="#C0C0C0"><font face="Arial" color="#000000" size="2"><b>Benchmark</b></font>&nbsp;</td>
   <td align="center" bgcolor="#C0C0C0"><font face="Arial" color="#000000" size="2"><b>Company Average</b></font>&nbsp;</td>
<% for i = s to lastfield %>

<% next %>
   </tr>
</thead>
<tbody>
<br>
<% dim v()
   do until rs.eof
      min = int(rs.fields("minimum"))
      mintype = rs.fields("mintype")
      sumv = 0
      avg = 0
      n = 0
      for j = s to lastfield
         redim preserve v(j)
         v(j) = evaluate(rs.fields("formula"),rs.fields(j),mmmm,yyyy)
         sumv = sumv + v(j)
         n = n + 1
      next
      if n > 0 then avg = round(sumv / n) %>
      <tr><td></td><td align="center" valign="bottom"><font face="Arial" size="2">Target: <%=min%> <%=mintype%></font></td><td></td></tr>
      <tr>
      <td bgcolor="#FFFFFF">
      <p align="right"><font face="Arial" size="2"><%=rs.fields("description")%></font></td>

     
          <td bgcolor="#FFFFFF">
      <p align="center"><font face="Arial" size="1"><% If (avg/min)*100 <=12 Then %><IMG SRC="../images/dial-1.gif">
      <% ELSEIF (avg/min)*100 <=24 Then%><IMG SRC="../images/dial-2.gif">
      <% ELSEIF (avg/min)*100 <=36 Then%><IMG SRC="../images/dial-3.gif">
      <% ELSEIF (avg/min)*100 <=48 Then%><IMG SRC="../images/dial-4.gif">
      <% ELSEIF (avg/min)*100 <=60 Then%><IMG SRC="../images/dial-5.gif">
      <% ELSEIF (avg/min)*100 <=72 Then%><IMG SRC="../images/dial-6.gif">
      <% ELSEIF (avg/min)*100 <=86 Then%><IMG SRC="../images/dial-7.gif">
      <% ELSEIF (avg/min)*100 <=99 Then%><IMG SRC="../images/dial-8.gif">
      <% ELSEIF (avg/min)*100 =100 Then%><IMG SRC="../images/dial-9.gif">
      <% ELSEIF (avg/min)*100 <=112 Then%><IMG SRC="../images/dial-10.gif">
      <% ELSEIF (avg/min)*100 <=124 Then%><IMG SRC="../images/dial-11.gif">
      <% ELSEIF (avg/min)*100 <=136 Then%><IMG SRC="../images/dial-12.gif">
      <% ELSEIF (avg/min)*100 <=148 Then%><IMG SRC="../images/dial-13.gif">
      <% ELSEIF (avg/min)*100 <=160 Then%><IMG SRC="../images/dial-14.gif">
      <% ELSEIF (avg/min)*100 <=172 Then%><IMG SRC="../images/dial-15.gif">
      <% ELSEIF (avg/min)*100 <=186 Then%><IMG SRC="../images/dial-16.gif">
      <% ELSEIF (avg/min)*100 =>187 Then%><IMG SRC="../images/dial-17.gif">
      <%END IF%></font></td><td><img src="../images/under-target.gif"><br><br><img src="../images/over-target.gif"></td>
      </tr><tr><td></td><td valign="top" align="center"><font face="Arial" size="2">Actual: <%=avg%> <%=mintype%></font><hr></td><td></td></tr><%    for j = s to lastfield
         color = "#000000"
         if int(v(j)) < min then color="#FF0000" %>
        
<%    next %>
      </tr>
<%    rs.movenext
   loop
   rs.close
   cn.close
   set cn = nothing %>
</tbody>
</table>
<% end if %>
</div>
</form>
</div>
<!-- #include file="./../../common/includes/i_footer.asp" -->

 

 


Viewing all articles
Browse latest Browse all 8428

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>