Just nu i M3-nätverket
Gå till innehåll

finns inget i recset men får ändå fel medd.


eddie66

Rekommendera Poster

hej

 

när min sql sats är tom så får jag ändå fel medd på min sida även om jag har en kontroll av recset som nedan.

 

if recset.eof then
response.write("finns inget")
else
kör loopen....

 

fel medd jag får är att recset är tomt enligt medd här

ADODB.Field error '80020009' 

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 

 

jag har testar lite olika varianter för att kontrollera om recset innehåller något men får ovan fel medd hela tiden. har testat med att kolla antal recordcount, if not RecSet.EOF then..., if isnull()... men inget funkar

 

vet någon hur jag löser detta problem?

 

tack på förhand!

 

Länk till kommentar
Dela på andra webbplatser

Går absolut inte att svara på utan att se all relevant kod. Helt klart är att du trots allt försöker läsa ur ditt recordset.

 

Länk till kommentar
Dela på andra webbplatser

ok skickar med koden som hämtar data från db(acess).

 

sen på min sida så loopar jag bara igenom och skapar en ny rad för varje recordset. problemet är när det inte finns data i min db, då får jag det fel medd som jag beskrev i föregående inlägg.

 

behöver du ha någon mer kod än så?

 

hoppas du kan hitta felet. :-)

 

if request.Form("startMonth") or request.form("finishMonth") < 10 then
siffmonth = 0
end if
if request.Form("startDay") or request.form("finishDay") < 10 then
siffday = 0
end if
'start date
datstart = request.form("startYear") & "-" & siffmonth & request.form("startMonth") & "-" & siffday & request.form("startDay")
'end date
datend = request.form("finishYear") & "-" & siffmonth & request.form("finishMonth") & "-" & siffday & request.form("finishDay")

Connect.open
Set RecSet= Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * From tblforsaljning, tblkontor where forsaljningsdatum  between #" & trim(datstart) & "# and #" & trim(datend) & "#" & "and kontoridref=" & CLng(request.form("selkontor")) & "and tblforsaljning.kontoridref = tblkontor.kontorid"        
RecSet.Open SQL, Connect

 

loopen ser ut så här

<%
do until RecSet.EOF 
%>
<tr>
<td class="vanligrubriktxt"><%=Recset("forsaljningsdatum")%></td>
<td class="vanligrubriktxt" title="procent är tanken"><%=Recset("dagenstotal")%></td>
<td class="vanligrubriktxt"><%=Recset("labour")%></td>
<td class="vanligrubriktxt"><%=Recset("waste")%></td>
<td class="vanligrubriktxt"><%=Recset("kuponger")%></td>
<td colspan="3">&nbsp;</td>
</tr>
<%
RecSet.MoveNext
loop
%>

 

Länk till kommentar
Dela på andra webbplatser

behöver du ha någon mer kod än så?

Ja, för det du klippt in ser ok ut. F.ö fanns inte if-satsen som du postade i första inlägget i den här sist inklippta koden. Lägg upp hela sidans kod på den här sajten och posta länken som skapas:

 

http://paste.se/

 

Länk till kommentar
Dela på andra webbplatser

jag tog bort if satsen för att få sidan att fungera tillsv, men du förstår nog hur jag tänkte.

 

försökte göra som du sa men fick fel med av något slag, kopierar hela koden här istället.

 

<!--#include file="../ext/configtxt.asp" --><!--#include file="../ext/checklogin.asp" -->
<!--#include file="../ext/config.asp" -->
<html>
<head>
<title><%=theTitlebar%></title>
<link rel="stylesheet" href="../css/styles.css" type="text/css">
</head>
<%
if request.Form("startMonth") or request.form("finishMonth") < 10 then
siffmonth = 0
end if
if request.Form("startDay") or request.form("finishDay") < 10 then
siffday = 0
end if
'start date
datstart = request.form("startYear") & "-" & siffmonth & request.form("startMonth") & "-" & siffday & request.form("startDay")
'end date
datend = request.form("finishYear") & "-" & siffmonth & request.form("finishMonth") & "-" & siffday & request.form("finishDay")

Connect.open
Set RecSet= Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * From tblforsaljning, tblkontor where forsaljningsdatum  between #" & trim(datstart) & "# and #" & trim(datend) & "#" & "and kontoridref=" & CLng(request.form("selkontor")) & "and tblforsaljning.kontoridref = tblkontor.kontorid"        
RecSet.Open SQL, Connect
'i = RecSet.recordcount
'------------------------------------------------------------------------------
'ändra årtal minus 1
'lastyearstart = trim(request.form("startYear")) - 1
'lastyearend = trim(request.form("finishYear")) - 1
'start date
'datstart1 = lastyearstart & "-" & siffmonth & request.form("startMonth") & "-" & siffday & request.form("startDay")
'end date
'datend1 = lastyearend & "-" & siffmonth & request.form("finishMonth") & "-" & siffday & request.form("finishDay")

'hämta värdet från föregående år
'Set RecSet2= Server.CreateObject("ADODB.Recordset")
'SQL = "SELECT * From tblforsaljning where forsaljningsdatum  between #" & trim(datstart1) & "# and #" & trim(datend1) & "#" & "and kontoridref=" & CLng(request.form("selkontor")) '& "and tblforsaljning.kontoridref = tblkontor.kontorid"        
'RecSet2.Open SQL, Connect

'här räknar vi ut procent andel som har ökat eller minskat
'nyaminusgamla = Recset("dagenstotal") / Recset2("dagenstotal")
'rattprocent = nyaminusgamla - 1
'andelprocentdagenstotal = rattprocent * 100
' start creat xls
file_being_created= "resultat.xls"

' create a file system object
set fso = createobject("scripting.filesystemobject")

' create the text file - true will overwrite any previous files
' Writes the db output to a .xls file in the same directory 
Set act = fso.CreateTextFile(server.mappath("../../db/" & file_being_created), true)

' All non repetitive html on top goes here
act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>" & RecSet("namn") & "</th>")
act.WriteLine("</tr>")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>Datum</th>")
act.WriteLine("<th nowrap>Dagens Total</th>")
act.WriteLine("<th nowrap>Labour</th>")
act.WriteLine("<th nowrap>Waste</th>")
act.WriteLine("<th nowrap>Kuponger</th>")
act.WriteLine("</tr>")
%>
<body background="../images/bg_page.gif" link="#C4C5A9">
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
 <tr> 
   <td background="../images/1x1.gif"><img src="../images/1x1.gif" width="1" height="1"></td>
 </tr>
</table>
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
 <tr bgcolor="#FFFFFF"> 
   <td background="../images/1x1.gif" width="1"><img src="../images/1x1.gif" width="1" height="1"></td>
   <td valign="top"> 
     <table width="100%" cellspacing="0" cellpadding="0">
       <tr> 
         <td align="left" background="../images/bg_select.gif" class="statisktxtvit"><%=session("user")%></td>
         <td align="right" background="../images/bg_select.gif"><span class="statisktxtvit"><%=theway%></span></td>
       </tr>
     </table>
     <table width="100%" border="0" cellspacing="10" cellpadding="0" bgcolor="#C4C5A9">
       <tr bgcolor="#C4C5A9"> 
         <td height="70" class="storrurik">  Intern information</td>
       </tr>
     </table>
     <!--#include file="../ext/meny.asp" -->
     <table width="100%" border="0" cellspacing="20" cellpadding="0">
       <tr  bgcolor="#FFFFFF"> 
         <td valign="top"> 
           <table width="100%" border="1" cellspacing="0" cellpadding="0">
             <tr bordercolor="#A9AB87" bgcolor="#C4C5A9"> 
               <td height="20" bgcolor="#C4C5A9" bordercolor="#C4C5A9"> 
                 <table width="100%" border="0" cellspacing="0" cellpadding="0">
                   <tr> 
                     <td class="gronrubrik"><img src="../images/gph_tri_table.gif" width="11" height="12" align="absmiddle">Försäljning  för <%=RecSet("namn")%> mellan <%=datstart%> och <%=datend%> id <%=recset("kontoridref")%></td>
                   </tr>
                 </table>                </td>
             </tr>
             <tr bordercolor="#A9AB87"> 
               <td valign="top" height="160"><table width="100%" border="0" cellspacing="2" cellpadding="0">
                 <tr>
                   <td width="14%" class="txtbold">Datum:</td>
                   <td width="14%" class="txtbold">DagensTotal:</td>
                   <td width="11%" class="txtbold">Labour:</td>
                   <td width="11%" class="txtbold">Waste:</td>
                   <td width="16%" class="txtbold">Kuponger.</td>
                   <td width="9%"> </td>
                   <td width="10%"><%=lastyearstart%> <%=lastyearend%></td>
                   <td width="15%"> </td>
                 </tr>
			  <!--här loopas resultatet-->
			 	<%
				do until RecSet.EOF 
				Act.WriteLine("<tr>")
				act.WriteLine("<td align=""right"">" & recset("forsaljningsdatum") & "</td>" )
				act.WriteLine("<td align=""right"">" & recset("dagenstotal") & "</td>" )
				act.WriteLine("<td align=""right"">" & recset("labour") & "</td>")
				act.WriteLine("<td align=""right"">"& recset("waste") & "</td>")
				act.WriteLine("<td align=""right"">"& recset("kuponger") & "</td>")
				act.WriteLine("</tr>")
				%>
                   <tr>
                   <td class="vanligrubriktxt"><%=Recset("forsaljningsdatum")%></td>
                   <td class="vanligrubriktxt" title="procent är tanken"><%=Recset("dagenstotal")%></td>
                   <td class="vanligrubriktxt"><%=Recset("labour")%></td>
                   <td class="vanligrubriktxt"><%=Recset("waste")%></td>
                   <td class="vanligrubriktxt"><%=Recset("kuponger")%></td>
                   <td colspan="3">  </td>
                   </tr>
				<%

				RecSet.MoveNext
				loop
				%>
               </table>
			<%
			' All non repetitive html on top goes here
			act.WriteLine("</table></body></html>")

			' close the object (excel)
			act.close

			' Writes a link to the newly created excel in the browser
			'response.write "<a href='resultat.xls'>Resultat</a> (.xls) has been created on " & now() & "<br>"
			%>
			<Div class="vanligrubriktxt">Hämta resultatet i excel format! <a href="../../db/resultat.xls"><img src="../images/pageico/icon-ms-excel.gif" alt="Tryck & välj spara!" width="15" height="15" border="0"></a></Div> totalt kupong <%=kupong%></td>
             </tr>
           </table>
           <br></td>
       </tr>
     </table>
   <table width="100%" cellspacing="0" cellpadding="0" height="19">
       <tr> 
         <td background="../images/bg_select.gif">
           <div align="center" class="statisktxtvit"><%=theCopytext%></div>
         </td>
       </tr>
     </table>
   </td>
   <td valign="top" background="../images/1x1.gif" width="1"><img src="../images/1x1.gif" width="1" height="1"></td>
 </tr>
</table>
   <table width="760" border="0" cellspacing="0" cellpadding="0" height="1" align="center">
 <tr> 
   <td background="../images/1x1.gif"><img src="../images/1x1.gif" width="1" height="1"></td>
 </tr>
</table>
</body>
<%
RecSet.close
set RecSet = nothing
'RecSet2.close
'set RecSet2 = nothing

Connect.close
set connect = nothing
%>
</html>

 

[inlägget ändrat 2008-02-18 16:37:00 av eddie66]

Länk till kommentar
Dela på andra webbplatser

På vilken rad får du felet och vad står på den?

(i den senaste koden så finns inte heller if-satsen med...)

 

/Cluster

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

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

den hävisar till rad 0 hela tiden. eftersom jag utöver denna info får som jag skrev ovan så måste det vara att recordsetet är tomt.

 

ja if satsen tog jag bort sen för inget fungerade men den låg innan jag körde DO UNTIL RECSET.EOF.

 

Länk till kommentar
Dela på andra webbplatser

Du har ju fortfarande referenser till RecSet utanför din loop..

 

Rad 59:

act.WriteLine("<th nowrap>" &[b] RecSet("namn") [/b]& "</th>")

 

Länk till kommentar
Dela på andra webbplatser

ja sorry men jag har inte förklarat denna del.

 

som du ser så skapar jag en excel fil av denna information som visas på denna sida också. dock så fick jag fel medd jag pratar om innan jag skrev till denna kod. även om jag tar bort allt som har att göra med skapandet av excel filen så får jag fel när recordset är tomt.

 

vilket är väldigt konstigt. ser du eller får du något fel hos dig på detta?

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...