Wrox Home  
Search P2P Archive for: Go

  Return to Index  

asp_databases thread: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'


Message #1 by "Scott Hutchinson" <shutchinson@s...> on Thu, 16 Aug 2001 09:08:51
Hello,



Can anyone help me with the following error code please, I am using an 

Access 2000 database.

--------------------------------------------------------------

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 



[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; 

expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'. 



/syminternet/ppr3.asp, line 154

----------------------------------------------------------------

CODE

----

<%@LANGUAGE="VBSCRIPT"%> 

<!--#include file="Connections/dsn_cs_reports.asp" -->

<%

Session("PR") = Request.QueryString ("PR")

%>

<%

Session("CB") = Request.QueryString ("CB")

%>

<%



Dim commDETAIL__GROUP_TYPE

commDETAIL__GROUP_TYPE = "%"

if(Session ("GT1") <> "") then commDETAIL__GROUP_TYPE = Session ("GT1")



Dim commDETAIL__GROUP_NAME

commDETAIL__GROUP_NAME = "%"

if(Session ("GN1") <> "") then commDETAIL__GROUP_NAME = Session ("GN1")



Dim commDETAIL__PRTY

commDETAIL__PRTY = "%"

if(Session ("PR") <> "") then commDETAIL__PRTY = Session ("PR")



Dim commDETAIL__CLEAR_BAND

commDETAIL__CLEAR_BAND = "%"

if(Session ("CB") <> "") then commDETAIL__CLEAR_BAND = Session ("CB")



%>

<%



set commDETAIL = Server.CreateObject("ADODB.Command")

commDETAIL.ActiveConnection = MM_dsn_cs_reports_STRING

commDETAIL.CommandText = "SCOTT"

commDETAIL.Parameters.Append commDETAIL.CreateParameter("GROUP_TYPE", 200, 

1,3,commDETAIL__GROUP_TYPE)

commDETAIL.Parameters.Append commDETAIL.CreateParameter("GROUP_NAME", 200, 

1,5,commDETAIL__GROUP_NAME)

commDETAIL.Parameters.Append commDETAIL.CreateParameter("PRTY", 200, 

1,4,commDETAIL__PRTY)

commDETAIL.Parameters.Append commDETAIL.CreateParameter("CLEAR_BAND", 3, 

1,4,commDETAIL__CLEAR_BAND)

commDETAIL.CommandType = 4

commDETAIL.CommandTimeout = 0

commDETAIL.Prepared = true

set rsDETAIL = commDETAIL.Execute

rsDETAIL_numRows = 0



%>

<%

Dim Repeat1__numRows

Repeat1__numRows = 5

Dim Repeat1__index

Repeat1__index = 0

rsDETAIL_numRows = rsDETAIL_numRows + Repeat1__numRows

%>

<%

'  *** Recordset Stats, Move To Record, and Go To Record: declare stats 

variables



' set the record count

rsDETAIL_total = rsDETAIL.RecordCount



' set the number of rows displayed on this page

If (rsDETAIL_numRows < 0) Then

  rsDETAIL_numRows = rsDETAIL_total

Elseif (rsDETAIL_numRows = 0) Then

  rsDETAIL_numRows = 1

End If



' set the first and last displayed record

rsDETAIL_first = 1

rsDETAIL_last  = rsDETAIL_first + rsDETAIL_numRows - 1



' if we have the correct record count, check the other stats

If (rsDETAIL_total <> -1) Then

  If (rsDETAIL_first > rsDETAIL_total) Then rsDETAIL_first = rsDETAIL_total

  If (rsDETAIL_last > rsDETAIL_total) Then rsDETAIL_last = rsDETAIL_total

  If (rsDETAIL_numRows > rsDETAIL_total) Then rsDETAIL_numRows = 

rsDETAIL_total

End If

%>

<%

' *** Move To Record and Go To Record: declare variables



Set MM_rs    = rsDETAIL

MM_rsCount   = rsDETAIL_total

MM_size      = rsDETAIL_numRows

MM_uniqueCol = ""

MM_paramName = ""

MM_offset = 0

MM_atTotal = false

MM_paramIsDefined = false

If (MM_paramName <> "") Then

  MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "")

End If

%>

<%

' *** Move To Record: handle 'index' or 'offset' parameter



if (Not MM_paramIsDefined And MM_rsCount <> 0) then



  ' use index parameter if defined, otherwise use offset parameter

  r = Request.QueryString("index")

  If r = "" Then r = Request.QueryString("offset")

  If r <> "" Then MM_offset = Int(r)



  ' if we have a record count, check if we are past the end of the 

recordset

  If (MM_rsCount <> -1) Then

    If (MM_offset >= MM_rsCount Or MM_offset = -1) Then  ' past end or 

move last

      If ((MM_rsCount Mod MM_size) > 0) Then         ' last page not a 

full repeat region

        MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)

      Else

        MM_offset = MM_rsCount - MM_size

      End If

    End If

  End If



  ' move the cursor to the selected record

  i = 0

  While ((Not MM_rs.EOF) And (i < MM_offset Or MM_offset = -1))

    MM_rs.MoveNext

    i = i + 1

  Wend

  If (MM_rs.EOF) Then MM_offset = i  ' set MM_offset to the last possible 

record



End If

%>

<%

' *** Move To Record: if we dont know the record count, check the display 

range



If (MM_rsCount = -1) Then



  ' walk to the end of the display range for this page

  i = MM_offset

  While (Not MM_rs.EOF And (MM_size < 0 Or i < MM_offset + MM_size))

    MM_rs.MoveNext

    i = i + 1

  Wend



  ' if we walked off the end of the recordset, set MM_rsCount and MM_size

  If (MM_rs.EOF) Then

    MM_rsCount = i

    If (MM_size < 0 Or MM_size > MM_rsCount) Then MM_size = MM_rsCount

  End If



  ' if we walked off the end, set the offset based on page size

  If (MM_rs.EOF And Not MM_paramIsDefined) Then

    If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then

      If ((MM_rsCount Mod MM_size) > 0) Then

        MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)

      Else

        MM_offset = MM_rsCount - MM_size

      End If

    End If

  End If



  ' reset the cursor to the beginning

  If (MM_rs.CursorType > 0) Then

    MM_rs.MoveFirst

  Else

    MM_rs.Requery

  End If



  ' move the cursor to the selected record

  i = 0

  While (Not MM_rs.EOF And i < MM_offset)

    MM_rs.MoveNext

    i = i + 1

  Wend

End If

%>

<%

' *** Move To Record: update recordset stats



' set the first and last displayed record

rsDETAIL_first = MM_offset + 1

rsDETAIL_last  = MM_offset + MM_size

If (MM_rsCount <> -1) Then

  If (rsDETAIL_first > MM_rsCount) Then rsDETAIL_first = MM_rsCount

  If (rsDETAIL_last > MM_rsCount) Then rsDETAIL_last = MM_rsCount

End If



' set the boolean used by hide region to check if we are on the last record

MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount)

%>

<%

' *** Go To Record and Move To Record: create strings for maintaining URL 

and Form parameters



' create the list of parameters which should not be maintained

MM_removeList = "&index="

If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" & 

MM_paramName & "="

MM_keepURL="":MM_keepForm="":MM_keepBoth="":MM_keepNone=""



' add the URL parameters to the MM_keepURL string

For Each Item In Request.QueryString

  NextItem = "&" & Item & "="

  If (InStr(1,MM_removeList,NextItem,1) = 0) Then

    MM_keepURL = MM_keepURL & NextItem & Server.URLencode

(Request.QueryString(Item))

  End If

Next



' add the Form variables to the MM_keepForm string

For Each Item In Request.Form

  NextItem = "&" & Item & "="

  If (InStr(1,MM_removeList,NextItem,1) = 0) Then

    MM_keepForm = MM_keepForm & NextItem & Server.URLencode(Request.Form

(Item))

  End If

Next



' create the Form + URL string and remove the intial '&' from each of the 

strings

MM_keepBoth = MM_keepURL & MM_keepForm

if (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len

(MM_keepBoth) - 1)

if (MM_keepURL <> "")  Then MM_keepURL  = Right(MM_keepURL, Len

(MM_keepURL) - 1)

if (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len

(MM_keepForm) - 1)



' a utility function used for adding additional parameters to these strings

Function MM_joinChar(firstItem)

  If (firstItem <> "") Then

    MM_joinChar = "&"

  Else

    MM_joinChar = ""

  End If

End Function

%>

<%

' *** Move To Record: set the strings for the first, last, next, and 

previous links



MM_keepMove = MM_keepBoth

MM_moveParam = "index"



' if the page has a repeated region, remove 'offset' from the maintained 

parameters

If (MM_size > 0) Then

  MM_moveParam = "offset"

  If (MM_keepMove <> "") Then

    params = Split(MM_keepMove, "&")

    MM_keepMove = ""

    For i = 0 To UBound(params)

      nextItem = Left(params(i), InStr(params(i),"=") - 1)

      If (StrComp(nextItem,MM_moveParam,1) <> 0) Then

        MM_keepMove = MM_keepMove & "&" & params(i)

      End If

    Next

    If (MM_keepMove <> "") Then

      MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1)

    End If

  End If

End If



' set the strings for the move to links

If (MM_keepMove <> "") Then MM_keepMove = MM_keepMove & "&"

urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove & MM_moveParam 

& "="

MM_moveFirst = urlStr & "0"

MM_moveLast  = urlStr & "-1"

MM_moveNext  = urlStr & Cstr(MM_offset + MM_size)

prev = MM_offset - MM_size

If (prev < 0) Then prev = 0

MM_movePrev  = urlStr & Cstr(prev)

%>

<html>

<head>

<title>Priority Performance Report - Detail</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" 

marginwidth="0" marginheight="0">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr> 

    <td><img src="images/symology.png" width="192" height="60"></td>

    <td> 

      <div align="right"><img src="images/ppr.png" width="340" 

height="43"></div>

    </td>

  </tr>

  <tr> 

    <td colspan="2"><img src="images/background.gif" width="100%" 

height="20"></td>

  </tr>

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr> 

    <td> 

      <table width="760" border="0" cellspacing="0" cellpadding="0" 

align="center">

        <tr> 

          <td><font face="Verdana, Arial, Helvetica, sans-serif" size="-

2">Results 

            for - Index Group Type - <font color="#FF0000"><%= Session

("GT1") %></font> Group Name - <font color="#FF0000"><%= Session("GN1") %

></font> Priority - <font color="#FF0000"><%= Session("PR") %></font> 

Band - <font color="#FF0000"><%= Session("CB") %></font></font></td>

        </tr>

        <tr> 

          <td> 

            <% If rsDETAIL.EOF And rsDETAIL.BOF Then %>

            <font face="Verdana, Arial, Helvetica, sans-serif" size="-

2">Sorry, 

            no records match the selection criteria specified - <a 

href="ppr_search.asp" onFocus="if(this.blur)this.blur()">Re-enter 

            Selection Criteria</a> or <a href="index.asp" onFocus="if

(this.blur)this.blur()">Return 

            to Main Menu</a></font> 

            <% End If ' end rsDETAIL.EOF And rsDETAIL.BOF %>

          </td>

        </tr>

        <tr> 

          <td> </td>

        </tr>

        <tr> 

          <td height="175"> 

            <% If Not rsDETAIL.EOF Or Not rsDETAIL.BOF Then %>

            <% 

While ((Repeat1__numRows <> 0) AND (NOT rsDETAIL.EOF)) 

%>

            <table width="100%" border="0" cellspacing="0" cellpadding="0">

              <tr> 

                <td colspan="3"> 

                  <hr color="#CCCCCC">

                </td>

              </tr>

              <tr> 

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">CR 

                  No.<font color="#FF0000"><%= rsDETAIL.Fields.Item

("CRNO").Value %> </font></font></td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Date 

                  Recorded:<font color="#FF0000"><%= rsDETAIL.Fields.Item

("RECD_DATE").Value %></font></font></td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Customer 

                  Details</font></td>

              </tr>

              <tr> 

                <td width="33%"> </td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Stage 

                  Desc: <font color="#FF0000"><%= rsDETAIL.Fields.Item

("STAGE_NAME").Value %></font></font></td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2" color="#660066"><%= rsDETAIL.Fields.Item

("FULL_NAME").Value %></font></td>

              </tr>

              <tr> 

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Address</font></td>

                <td width="33%"> </td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2" color="#660066"><%= rsDETAIL.Fields.Item

("ADDRESS1").Value %></font></td>

              </tr>

              <tr> 

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2" color="#FF0000"><%= rsDETAIL.Fields.Item

("LOCATION").Value %></font></td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Request 

                  Type:<font color="#FF0000"><%= rsDETAIL.Fields.Item

("REQUEST_TYPE").Value %></font></font></td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2" color="#660066"><%= rsDETAIL.Fields.Item

("POSTCODE").Value %></font></td>

              </tr>

              <tr> 

                <td width="33%"><font color="#FF0000" face="Verdana, 

Arial, Helvetica, sans-serif" size="-2"><%= rsDETAIL.Fields.Item

("ADDRESS2").Value %></font></td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Analysis 

                  Code 1:<font color="#FF0000"><%= rsDETAIL.Fields.Item

("ANALYSIS1").Value %></font></font></td>

                <td width="33%"> </td>

              </tr>

              <tr> 

                <td width="33%"> </td>

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Analysis 

                  Code 2:<font color="#FF0000"><%= rsDETAIL.Fields.Item

("ANALYSIS2").Value %></font></font></td>

                <td width="33%"> </td>

              </tr>

              <tr> 

                <td width="33%"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2">Description 

                  of Request</font></td>

                <td width="33%"> </td>

                <td width="33%"> </td>

              </tr>

              <tr> 

                <td colspan="3"><font face="Verdana, Arial, Helvetica, 

sans-serif" size="-2" color="#FF0000"><%= rsDETAIL.Fields.Item

("DESCRIPTION").Value %></font></td>

              </tr>

            </table>

            <% 

  Repeat1__index=Repeat1__index+1

  Repeat1__numRows=Repeat1__numRows-1

  rsDETAIL.MoveNext()

Wend

%>

            <% End If ' end Not rsDETAIL.EOF Or NOT rsDETAIL.BOF %>

            <p><font face="Verdana, Arial, Helvetica, sans-serif"><font 

size="-2"><font size="-1"> 

              </font></font></font></p>

          </td>

        </tr>

      </table>

      <table width="760" border="0" cellspacing="0" cellpadding="0" 

align="center">

        <tr> 

          <td> </td>

        </tr>

      </table>

      <table border="0" width="50%" align="center">

        <tr> 

          <td width="23%" align="center"> <a href="<%=MM_moveFirst%

>">First</a> 

          </td>

          <td width="31%" align="center"> <a href="<%=MM_movePrev%

>">Previous</a> 

          </td>

          <td width="23%" align="center"> <a href="<%=MM_moveNext%

>">Next</a> 

          </td>

          <td width="23%" align="center"> <a href="<%=MM_moveLast%

>">Last</a> 

          </td>

        </tr>

      </table>

    </td>

  </tr>

</table>

<p> </p>

<p> </p>

</body>

</html>
Message #2 by Steve Carter <Steve.Carter@t...> on Thu, 16 Aug 2001 10:37:41 +0100
My best guess is that you haven't filled in a box in Dreamweaver that tells

it what table to get the data from.



I couldn't work out what line was 154 since the email churned it up a bit,

but seeing only .Requery and no .Open suggests some missing code.  Seeing

loads of MM_ suggestes you are using Dreamweaver ultradev.

Message #3 by "Tomm Matthis" <matthis@b...> on Fri, 17 Aug 2001 06:45:26 -0400
Here's your problem:

> commDETAIL.CommandText = "SCOTT"

If this is the name of a stored proc then you need to additionaly specify:



commDETAIL.CommandType = adStoredProc





-- Tomm



> -----Original Message-----

> From: Scott Hutchinson [mailto:shutchinson@s...]

> Sent: Thursday, August 16, 2001 9:09 AM

> To: ASP Databases

> Subject: [asp_databases] Microsoft OLE DB Provider for ODBC Drivers

> error '80040e14'

>

>

> Hello,

>

> Can anyone help me with the following error code please, I am using an

> Access 2000 database.

> --------------------------------------------------------------

> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

>

> [Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement;

> expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

>

> /syminternet/ppr3.asp, line 154

> ----------------------------------------------------------------

> CODE

> ----

> <%@LANGUAGE="VBSCRIPT"%>

> <!--#include file="Connections/dsn_cs_reports.asp" -->

> <%

> Session("PR") = Request.QueryString ("PR")

> %>

> <%

> Session("CB") = Request.QueryString ("CB")

> %>

> <%

>

> Dim commDETAIL__GROUP_TYPE

> commDETAIL__GROUP_TYPE = "%"

> if(Session ("GT1") <> "") then commDETAIL__GROUP_TYPE = Session ("GT1")

>

> Dim commDETAIL__GROUP_NAME

> commDETAIL__GROUP_NAME = "%"

> if(Session ("GN1") <> "") then commDETAIL__GROUP_NAME = Session ("GN1")

>

> Dim commDETAIL__PRTY

> commDETAIL__PRTY = "%"

> if(Session ("PR") <> "") then commDETAIL__PRTY = Session ("PR")

>

> Dim commDETAIL__CLEAR_BAND

> commDETAIL__CLEAR_BAND = "%"

> if(Session ("CB") <> "") then commDETAIL__CLEAR_BAND = Session ("CB")

>

> %>

> <%

>

> set commDETAIL = Server.CreateObject("ADODB.Command")

> commDETAIL.ActiveConnection = MM_dsn_cs_reports_STRING

> commDETAIL.CommandText = "SCOTT"

> commDETAIL.Parameters.Append

> commDETAIL.CreateParameter("GROUP_TYPE", 200,

> 1,3,commDETAIL__GROUP_TYPE)

> commDETAIL.Parameters.Append

> commDETAIL.CreateParameter("GROUP_NAME", 200,

> 1,5,commDETAIL__GROUP_NAME)

> commDETAIL.Parameters.Append commDETAIL.CreateParameter("PRTY", 200,

> 1,4,commDETAIL__PRTY)

> commDETAIL.Parameters.Append commDETAIL.CreateParameter("CLEAR_BAND", 3,

> 1,4,commDETAIL__CLEAR_BAND)

> commDETAIL.CommandType = 4

> commDETAIL.CommandTimeout = 0

> commDETAIL.Prepared = true

> set rsDETAIL = commDETAIL.Execute

> rsDETAIL_numRows = 0

>

> %>

> <%

> Dim Repeat1__numRows

> Repeat1__numRows = 5

> Dim Repeat1__index

> Repeat1__index = 0

> rsDETAIL_numRows = rsDETAIL_numRows + Repeat1__numRows

> %>

> <%

> '  *** Recordset Stats, Move To Record, and Go To Record: declare stats

> variables

>

> ' set the record count

> rsDETAIL_total = rsDETAIL.RecordCount

>

> ' set the number of rows displayed on this page

> If (rsDETAIL_numRows < 0) Then

>   rsDETAIL_numRows = rsDETAIL_total

> Elseif (rsDETAIL_numRows = 0) Then

>   rsDETAIL_numRows = 1

> End If

>

> ' set the first and last displayed record

> rsDETAIL_first = 1

> rsDETAIL_last  = rsDETAIL_first + rsDETAIL_numRows - 1

>

> ' if we have the correct record count, check the other stats

> If (rsDETAIL_total <> -1) Then

>   If (rsDETAIL_first > rsDETAIL_total) Then rsDETAIL_first 

> rsDETAIL_total

>   If (rsDETAIL_last > rsDETAIL_total) Then rsDETAIL_last = rsDETAIL_total

>   If (rsDETAIL_numRows > rsDETAIL_total) Then rsDETAIL_numRows 

> rsDETAIL_total

> End If

> %>

> <%

> ' *** Move To Record and Go To Record: declare variables

>

> Set MM_rs    = rsDETAIL

> MM_rsCount   = rsDETAIL_total

> MM_size      = rsDETAIL_numRows

> MM_uniqueCol = ""

> MM_paramName = ""

> MM_offset = 0

> MM_atTotal = false

> MM_paramIsDefined = false

> If (MM_paramName <> "") Then

>   MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "")

> End If

> %>

> <%

> ' *** Move To Record: handle 'index' or 'offset' parameter

>

> if (Not MM_paramIsDefined And MM_rsCount <> 0) then

>

>   ' use index parameter if defined, otherwise use offset parameter

>   r = Request.QueryString("index")

>   If r = "" Then r = Request.QueryString("offset")

>   If r <> "" Then MM_offset = Int(r)

>

>   ' if we have a record count, check if we are past the end of the

> recordset

>   If (MM_rsCount <> -1) Then

>     If (MM_offset >= MM_rsCount Or MM_offset = -1) Then  ' past end or

> move last

>       If ((MM_rsCount Mod MM_size) > 0) Then         ' last page not a

> full repeat region

>         MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)

>       Else

>         MM_offset = MM_rsCount - MM_size

>       End If

>     End If

>   End If

>

>   ' move the cursor to the selected record

>   i = 0

>   While ((Not MM_rs.EOF) And (i < MM_offset Or MM_offset = -1))

>     MM_rs.MoveNext

>     i = i + 1

>   Wend

>   If (MM_rs.EOF) Then MM_offset = i  ' set MM_offset to the last possible

> record

>

> End If

> %>

> <%

> ' *** Move To Record: if we dont know the record count, check the display

> range

>

> If (MM_rsCount = -1) Then

>

>   ' walk to the end of the display range for this page

>   i = MM_offset

>   While (Not MM_rs.EOF And (MM_size < 0 Or i < MM_offset + MM_size))

>     MM_rs.MoveNext

>     i = i + 1

>   Wend

>

>   ' if we walked off the end of the recordset, set MM_rsCount and MM_size

>   If (MM_rs.EOF) Then

>     MM_rsCount = i

>     If (MM_size < 0 Or MM_size > MM_rsCount) Then MM_size = MM_rsCount

>   End If

>

>   ' if we walked off the end, set the offset based on page size

>   If (MM_rs.EOF And Not MM_paramIsDefined) Then

>     If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then

>       If ((MM_rsCount Mod MM_size) > 0) Then

>         MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)

>       Else

>         MM_offset = MM_rsCount - MM_size

>       End If

>     End If

>   End If

>

>   ' reset the cursor to the beginning

>   If (MM_rs.CursorType > 0) Then

>     MM_rs.MoveFirst

>   Else

>     MM_rs.Requery

>   End If

>

>   ' move the cursor to the selected record

>   i = 0

>   While (Not MM_rs.EOF And i < MM_offset)

>     MM_rs.MoveNext

>     i = i + 1

>   Wend

> End If

> %>

> <%

> ' *** Move To Record: update recordset stats

>

> ' set the first and last displayed record

> rsDETAIL_first = MM_offset + 1

> rsDETAIL_last  = MM_offset + MM_size

> If (MM_rsCount <> -1) Then

>   If (rsDETAIL_first > MM_rsCount) Then rsDETAIL_first = MM_rsCount

>   If (rsDETAIL_last > MM_rsCount) Then rsDETAIL_last = MM_rsCount

> End If

>

> ' set the boolean used by hide region to check if we are on the

> last record

> MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount)

> %>

> <%

> ' *** Go To Record and Move To Record: create strings for maintaining URL

> and Form parameters

>

> ' create the list of parameters which should not be maintained

> MM_removeList = "&index="

> If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" &

> MM_paramName & "="

> MM_keepURL="":MM_keepForm="":MM_keepBoth="":MM_keepNone=""

>

> ' add the URL parameters to the MM_keepURL string

> For Each Item In Request.QueryString

>   NextItem = "&" & Item & "="

>   If (InStr(1,MM_removeList,NextItem,1) = 0) Then

>     MM_keepURL = MM_keepURL & NextItem & Server.URLencode

> (Request.QueryString(Item))

>   End If

> Next

>

> ' add the Form variables to the MM_keepForm string

> For Each Item In Request.Form

>   NextItem = "&" & Item & "="

>   If (InStr(1,MM_removeList,NextItem,1) = 0) Then

>     MM_keepForm = MM_keepForm & NextItem & Server.URLencode(Request.Form

> (Item))

>   End If

> Next

>

> ' create the Form + URL string and remove the intial '&' from each of the

> strings

> MM_keepBoth = MM_keepURL & MM_keepForm

> if (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len

> (MM_keepBoth) - 1)

> if (MM_keepURL <> "")  Then MM_keepURL  = Right(MM_keepURL, Len

> (MM_keepURL) - 1)

> if (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len

> (MM_keepForm) - 1)

>

> ' a utility function used for adding additional parameters to

> these strings

> Function MM_joinChar(firstItem)

>   If (firstItem <> "") Then

>     MM_joinChar = "&"

>   Else

>     MM_joinChar = ""

>   End If

> End Function

> %>

> <%

> ' *** Move To Record: set the strings for the first, last, next, and

> previous links

>

> MM_keepMove = MM_keepBoth

> MM_moveParam = "index"

>

> ' if the page has a repeated region, remove 'offset' from the maintained

> parameters

> If (MM_size > 0) Then

>   MM_moveParam = "offset"

>   If (MM_keepMove <> "") Then

>     params = Split(MM_keepMove, "&")

>     MM_keepMove = ""

>     For i = 0 To UBound(params)

>       nextItem = Left(params(i), InStr(params(i),"=") - 1)

>       If (StrComp(nextItem,MM_moveParam,1) <> 0) Then

>         MM_keepMove = MM_keepMove & "&" & params(i)

>       End If

>     Next

>     If (MM_keepMove <> "") Then

>       MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1)

>     End If

>   End If

> End If

>

> ' set the strings for the move to links

> If (MM_keepMove <> "") Then MM_keepMove = MM_keepMove & "&"

> urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove &

> MM_moveParam

> & "="

> MM_moveFirst = urlStr & "0"

> MM_moveLast  = urlStr & "-1"

> MM_moveNext  = urlStr & Cstr(MM_offset + MM_size)

> prev = MM_offset - MM_size

> If (prev < 0) Then prev = 0

> MM_movePrev  = urlStr & Cstr(prev)

> %>

> <html>

> <head>

> <title>Priority Performance Report - Detail</title>

> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

> </head>

> <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0"

> marginwidth="0" marginheight="0">

> <table width="100%" border="0" cellspacing="0" cellpadding="0">

>   <tr>

>     <td><img src="images/symology.png" width="192" height="60"></td>

>     <td>

>       <div align="right"><img src="images/ppr.png" width="340"

> height="43"></div>

>     </td>

>   </tr>

>   <tr>

>     <td colspan="2"><img src="images/background.gif" width="100%"

> height="20"></td>

>   </tr>

> </table>

> <table width="100%" border="0" cellspacing="0" cellpadding="0">

>   <tr>

>     <td>

>       <table width="760" border="0" cellspacing="0" cellpadding="0"

> align="center">

>         <tr>

>           <td><font face="Verdana, Arial, Helvetica, sans-serif" size="-

> 2">Results

>             for - Index Group Type - <font color="#FF0000"><%= Session

> ("GT1") %></font> Group Name - <font color="#FF0000"><%= Session("GN1") %

> ></font> Priority - <font color="#FF0000"><%= Session("PR") %></font>

> Band - <font color="#FF0000"><%= Session("CB") %></font></font></td>

>         </tr>

>         <tr>

>           <td>

>             <% If rsDETAIL.EOF And rsDETAIL.BOF Then %>

>             <font face="Verdana, Arial, Helvetica, sans-serif" size="-

> 2">Sorry,

>             no records match the selection criteria specified - <a

> href="ppr_search.asp" onFocus="if(this.blur)this.blur()">Re-enter

>             Selection Criteria</a> or <a href="index.asp" onFocus="if

> (this.blur)this.blur()">Return

>             to Main Menu</a></font>

>             <% End If ' end rsDETAIL.EOF And rsDETAIL.BOF %>

>           </td>

>         </tr>

>         <tr>

>           <td> </td>

>         </tr>

>         <tr>

>           <td height="175">

>             <% If Not rsDETAIL.EOF Or Not rsDETAIL.BOF Then %>

>             <%

> While ((Repeat1__numRows <> 0) AND (NOT rsDETAIL.EOF))

> %>

>             <table width="100%" border="0" cellspacing="0"

> cellpadding="0">

>               <tr>

>                 <td colspan="3">

>                   <hr color="#CCCCCC">

>                 </td>

>               </tr>

>               <tr>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">CR

>                   No.<font color="#FF0000"><%= rsDETAIL.Fields.Item

> ("CRNO").Value %> </font></font></td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Date

>                   Recorded:<font color="#FF0000"><%= rsDETAIL.Fields.Item

> ("RECD_DATE").Value %></font></font></td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Customer

>                   Details</font></td>

>               </tr>

>               <tr>

>                 <td width="33%"> </td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Stage

>                   Desc: <font color="#FF0000"><%= rsDETAIL.Fields.Item

> ("STAGE_NAME").Value %></font></font></td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2" color="#660066"><%= rsDETAIL.Fields.Item

> ("FULL_NAME").Value %></font></td>

>               </tr>

>               <tr>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Address</font></td>

>                 <td width="33%"> </td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2" color="#660066"><%= rsDETAIL.Fields.Item

> ("ADDRESS1").Value %></font></td>

>               </tr>

>               <tr>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2" color="#FF0000"><%= rsDETAIL.Fields.Item

> ("LOCATION").Value %></font></td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Request

>                   Type:<font color="#FF0000"><%= rsDETAIL.Fields.Item

> ("REQUEST_TYPE").Value %></font></font></td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2" color="#660066"><%= rsDETAIL.Fields.Item

> ("POSTCODE").Value %></font></td>

>               </tr>

>               <tr>

>                 <td width="33%"><font color="#FF0000" face="Verdana,

> Arial, Helvetica, sans-serif" size="-2"><%= rsDETAIL.Fields.Item

> ("ADDRESS2").Value %></font></td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Analysis

>                   Code 1:<font color="#FF0000"><%= rsDETAIL.Fields.Item

> ("ANALYSIS1").Value %></font></font></td>

>                 <td width="33%"> </td>

>               </tr>

>               <tr>

>                 <td width="33%"> </td>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Analysis

>                   Code 2:<font color="#FF0000"><%= rsDETAIL.Fields.Item

> ("ANALYSIS2").Value %></font></font></td>

>                 <td width="33%"> </td>

>               </tr>

>               <tr>

>                 <td width="33%"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2">Description

>                   of Request</font></td>

>                 <td width="33%"> </td>

>                 <td width="33%"> </td>

>               </tr>

>               <tr>

>                 <td colspan="3"><font face="Verdana, Arial, Helvetica,

> sans-serif" size="-2" color="#FF0000"><%= rsDETAIL.Fields.Item

> ("DESCRIPTION").Value %></font></td>

>               </tr>

>             </table>

>             <%

>   Repeat1__index=Repeat1__index+1

>   Repeat1__numRows=Repeat1__numRows-1

>   rsDETAIL.MoveNext()

> Wend

> %>

>             <% End If ' end Not rsDETAIL.EOF Or NOT rsDETAIL.BOF %>

>             <p><font face="Verdana, Arial, Helvetica, sans-serif"><font

> size="-2"><font size="-1">

>               </font></font></font></p>

>           </td>

>         </tr>

>       </table>

>       <table width="760" border="0" cellspacing="0" cellpadding="0"

> align="center">

>         <tr>

>           <td> </td>

>         </tr>

>       </table>

>       <table border="0" width="50%" align="center">

>         <tr>

>           <td width="23%" align="center"> <a href="<%=MM_moveFirst%

> >">First</a>

>           </td>

>           <td width="31%" align="center"> <a href="<%=MM_movePrev%

> >">Previous</a>

>           </td>

>           <td width="23%" align="center"> <a href="<%=MM_moveNext%

> >">Next</a>

>           </td>

>           <td width="23%" align="center"> <a href="<%=MM_moveLast%

> >">Last</a>

>           </td>

>         </tr>

>       </table>

>     </td>

>   </tr>

> </table>

> <p> </p>

> <p> </p>

> </body>

> </html>


  Return to Index