By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,676 Members | 1,669 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,676 IT Pros & Developers. It's quick & easy.

Show region not showing

P: n/a
The code below is 2 rows in a table, the top row contains a message to be
shown if the recordset returns no matches. The 2nd row will display any
matches.

Problem is that if no matches are found nothing is displayed in this table.
I have used the code that DMX generates using the server behaviour 'Show
region if recordset is empty', but no success.

Appreciate someone pointing out where I'm going wrong here.

Thanks
David

<table>
<tr>
<td>
<% If rsOrg.EOF Or rsOrg.BOF Then >
Sorry, no records were found to match your search.
<% End If ' end rsOrg.EOF And rsOrg.BOF %</td>
</tr>
<tr>
<td>
<% If Not rsOrg.EOF Or Not rsOrg.BOF Then %>
<a
href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName"
).Value)%></a>
<% End If ' end Not rsOrg.EOF Or NOT rsOrg.BOF %>
</td>
</tr>
</table>

http://www.boatingdirectory.com.au/aust_index.asp
Jul 19 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
Try dropping the .BOF stuff and also make sure that your ASP tags are closed
properly. (I'll assume that the ones below that aren't closed properly is
because you didn't actually copy your code.) Also, instead of having two
separate ifs, try an if/else. One of the conditions will always be true
then.
<table>
<tr>
<td>
<% If rsOrg.EOF Then %>
Sorry, no records were found to match your search.
<% Else %>
<a
href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName"
).Value)%></a>
<% End If %>
</td>
</tr>
</table>

Your best bet is to drop DMX for writing your code. It'll make things a
little harder to do at first, but you'll benefit much more in the future.

Ray at home
"David Ehmer" <eh***@optusnet.com.au> wrote in message
news:3f***********************@news.optusnet.com.a u...
The code below is 2 rows in a table, the top row contains a message to be
shown if the recordset returns no matches. The 2nd row will display any
matches.

Problem is that if no matches are found nothing is displayed in this table. I have used the code that DMX generates using the server behaviour 'Show
region if recordset is empty', but no success.

Appreciate someone pointing out where I'm going wrong here.

Thanks
David

<table>
<tr>
<td>
<% If rsOrg.EOF Or rsOrg.BOF Then >
Sorry, no records were found to match your search.
<% End If ' end rsOrg.EOF And rsOrg.BOF %</td>
</tr>
<tr>
<td>
<% If Not rsOrg.EOF Or Not rsOrg.BOF Then %>
<a
href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName" ).Value)%></a>
<% End If ' end Not rsOrg.EOF Or NOT rsOrg.BOF %>
</td>
</tr>
</table>

http://www.boatingdirectory.com.au/aust_index.asp

Jul 19 '05 #2

P: n/a
Thanks Ray

Good suggestions, which I've implemented but it hasn't changed the result.
Seems illogical that it doesn't display the no matches text. I guess I'm
missing something obvious.

David
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:Od**************@TK2MSFTNGP11.phx.gbl...
Try dropping the .BOF stuff and also make sure that your ASP tags are closed properly. (I'll assume that the ones below that aren't closed properly is
because you didn't actually copy your code.) Also, instead of having two
separate ifs, try an if/else. One of the conditions will always be true
then.
<table>
<tr>
<td>
<% If rsOrg.EOF Then %>
Sorry, no records were found to match your search.
<% Else %>
<a
href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName" ).Value)%></a>
<% End If %>
</td>
</tr>
</table>

Your best bet is to drop DMX for writing your code. It'll make things a
little harder to do at first, but you'll benefit much more in the future.

Ray at home
"David Ehmer" <eh***@optusnet.com.au> wrote in message
news:3f***********************@news.optusnet.com.a u...
The code below is 2 rows in a table, the top row contains a message to be shown if the recordset returns no matches. The 2nd row will display any
matches.

Problem is that if no matches are found nothing is displayed in this

table.
I have used the code that DMX generates using the server behaviour 'Show
region if recordset is empty', but no success.

Appreciate someone pointing out where I'm going wrong here.

Thanks
David

<table>
<tr>
<td>
<% If rsOrg.EOF Or rsOrg.BOF Then >
Sorry, no records were found to match your search.
<% End If ' end rsOrg.EOF And rsOrg.BOF %</td>
</tr>
<tr>
<td>
<% If Not rsOrg.EOF Or Not rsOrg.BOF Then %>
<a

href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName"
).Value)%></a>
<% End If ' end Not rsOrg.EOF Or NOT rsOrg.BOF %>
</td>
</tr>
</table>

http://www.boatingdirectory.com.au/aust_index.asp


Jul 19 '05 #3

P: n/a
David Ehmer wrote:
The code below is 2 rows in a table, the top row contains a message
to be shown if the recordset returns no matches. The 2nd row will
display any matches.

Problem is that if no matches are found nothing is displayed in this
table. I have used the code that DMX generates using the server
behaviour 'Show region if recordset is empty', but no success.

Appreciate someone pointing out where I'm going wrong here.

Thanks
David

I am assuming you have a scrollable cursor, and that some recordset
navigation has taken place before this block of code, explaining the need to
test both EOF and BOF.
<% If rsOrg.EOF Or rsOrg.BOF Then >
The "Or" should be "And" here. Your recordset contains no records only if
BOTH EOF and BOF are true, so you need to use "And". If some previous code
in this page had looped through the recordset so that it was at EOF, then
you would get the "no records" message when there actually were records.
Sorry, no records were found to match your search.
<% End If ' end rsOrg.EOF And rsOrg.BOF %</td>
</tr>
<tr>
<td>
<% If Not rsOrg.EOF Or Not rsOrg.BOF Then %>


This If statement will allow the following line of code to run if either EOF
or BOF is true, which will raise an error.
With that in mind, let's analyze this statement:

Assume that the previous code had looped through the recordset until the
recordset was at EOF (EOF = true). The first boolean expression, Not
rsOrg.EOF, will evaluate to False. So far so good.
However, the second expression, Not rsOrg.BOF, will evaluate to True! Not
good, because the Or operator has been used, causing the entire espression
to evaluate to True (Or causes the expression to be True if at least one of
the sub-expressions is True). So the following statement will be executed,
and an error will be raised when the field values are attempted to be read.

A better way to write to write this statement would be

If Not (rsOrg.EOF Or rsOrg.BOF) Then

Now if either EOF or BOF is true, the expression in the parentheses will
evaluate to True. The Not will change the result to False, and the following
code will not run. Conversely, if neither EOF and BOF is true, then the
parenthetical expression will evaluate to False, and the Not will change it
to True, allowing the following code to run.

However, I do not believe we have found your problem yet. How are you
verifying that the recordset actually contains records?

Bob Barrows

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 19 '05 #4

P: n/a
There must be an HTML issue (have you viewed source) or something else that
is preventing the whole block of code from running. Is that code all in an
IF block as well? If so, look at that condition. Or take this code out and
put it in its own page by itself to see what happens.

Ray at home

"David Ehmer" <eh***@optusnet.com.au> wrote in message
news:3f***********************@news.optusnet.com.a u...
Thanks Ray

Good suggestions, which I've implemented but it hasn't changed the result.
Seems illogical that it doesn't display the no matches text. I guess I'm
missing something obvious.

David
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:Od**************@TK2MSFTNGP11.phx.gbl...
Try dropping the .BOF stuff and also make sure that your ASP tags are

closed
properly. (I'll assume that the ones below that aren't closed properly is
because you didn't actually copy your code.) Also, instead of having two separate ifs, try an if/else. One of the conditions will always be true
then.
<table>
<tr>
<td>
<% If rsOrg.EOF Then %>
Sorry, no records were found to match your search.
<% Else %>
<a

href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName"
).Value)%></a>
<% End If %>
</td>
</tr>
</table>

Your best bet is to drop DMX for writing your code. It'll make things a
little harder to do at first, but you'll benefit much more in the future.
Ray at home
"David Ehmer" <eh***@optusnet.com.au> wrote in message
news:3f***********************@news.optusnet.com.a u...
The code below is 2 rows in a table, the top row contains a message to

be shown if the recordset returns no matches. The 2nd row will display any matches.

Problem is that if no matches are found nothing is displayed in this

table.
I have used the code that DMX generates using the server behaviour 'Show region if recordset is empty', but no success.

Appreciate someone pointing out where I'm going wrong here.

Thanks
David

<table>
<tr>
<td>
<% If rsOrg.EOF Or rsOrg.BOF Then >
Sorry, no records were found to match your search.
<% End If ' end rsOrg.EOF And rsOrg.BOF %</td>
</tr>
<tr>
<td>
<% If Not rsOrg.EOF Or Not rsOrg.BOF Then %>
<a

href="<%=(rsOrg.Fields.Item("Web").Value)%>"><%=(r sOrg.Fields.Item("OrgName"
).Value)%></a>
<% End If ' end Not rsOrg.EOF Or NOT rsOrg.BOF %>
</td>
</tr>
</table>

http://www.boatingdirectory.com.au/aust_index.asp



Jul 19 '05 #5

P: n/a
Thanks for the suggestions.

I tried applying the show/if code block to the whole table to display
records and using an else structure to display a 2nd table with the 'no
matches' text. Worked ok then.

David
"Bob Barrows" <re******@NOyahoo.SPAMcom> wrote in message
news:Ot*************@tk2msftngp13.phx.gbl...
David Ehmer wrote:
The code below is 2 rows in a table, the top row contains a message
to be shown if the recordset returns no matches. The 2nd row will
display any matches.

Problem is that if no matches are found nothing is displayed in this
table. I have used the code that DMX generates using the server
behaviour 'Show region if recordset is empty', but no success.

Appreciate someone pointing out where I'm going wrong here.

Thanks
David

I am assuming you have a scrollable cursor, and that some recordset
navigation has taken place before this block of code, explaining the need

to test both EOF and BOF.
<% If rsOrg.EOF Or rsOrg.BOF Then >
The "Or" should be "And" here. Your recordset contains no records only if
BOTH EOF and BOF are true, so you need to use "And". If some previous code
in this page had looped through the recordset so that it was at EOF, then
you would get the "no records" message when there actually were records.
Sorry, no records were found to match your search.
<% End If ' end rsOrg.EOF And rsOrg.BOF %</td>
</tr>
<tr>
<td>
<% If Not rsOrg.EOF Or Not rsOrg.BOF Then %>


This If statement will allow the following line of code to run if either

EOF or BOF is true, which will raise an error.
With that in mind, let's analyze this statement:

Assume that the previous code had looped through the recordset until the
recordset was at EOF (EOF = true). The first boolean expression, Not
rsOrg.EOF, will evaluate to False. So far so good.
However, the second expression, Not rsOrg.BOF, will evaluate to True! Not
good, because the Or operator has been used, causing the entire espression
to evaluate to True (Or causes the expression to be True if at least one of the sub-expressions is True). So the following statement will be executed,
and an error will be raised when the field values are attempted to be read.
A better way to write to write this statement would be

If Not (rsOrg.EOF Or rsOrg.BOF) Then

Now if either EOF or BOF is true, the expression in the parentheses will
evaluate to True. The Not will change the result to False, and the following code will not run. Conversely, if neither EOF and BOF is true, then the
parenthetical expression will evaluate to False, and the Not will change it to True, allowing the following code to run.

However, I do not believe we have found your problem yet. How are you
verifying that the recordset actually contains records?

Bob Barrows

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"

Jul 19 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.