Avatar billede michaelfp Nybegynder
29. august 2004 - 01:08 Der er 8 kommentarer og
1 løsning

EOF / BOF fejl - hvorfor?

Her er fejlmeddelelsen:

ADODB.Field error '800a0bcd'

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

/crm/historikedit.asp, line 114

Her er koden:

<body>

<form action="historikedit.asp?cmd=update" method="post">

<%
Dim Hrs,CboRs,StrSQL, Hid
Dim LNavn, LKid, MtTxt,kildetxt
Dim Hdato,Htype,Hkonsulent,Hkilde,Hemne,Hindhold,Hstart,Hslut
Dim RFound


  LkId = Session("globalkandidatid")

  Lnavn = Session("globalkandidatnavn")


  Opendatabase
  Set Hrs = Server.CreateObject("ADODB.Recordset")
  Hrs.Open "skandidathistorik", conn,3 ,3


  Response.write Request.form("hSave")
  Response.write Hid


  If IsNumeric(REquest("Id")) Then ' en bestående post skal vises
    Hid = CLng(Request("Id"))
    Rfound = False
    HRs.Movefirst
    Do while not HRs.Eof and not Rfound
      If Hrs("HistorikId") = Hid Then
        RFound = TRue
      Else
        HRs.Movenext
      End if
    Loop
    Initialiservariabler
  end if

  If REquest("Id") = "ny" Then
    ' opret ny record
    HRs.AddNew
    HRs("dato") = date
    HRs("kandidatid") = lkid
    HRs("type") = 1
    HRs("konsulent") = GetCurrKOnsulent
    HRs("kilde") = 1
    HRs("emne") = ""
    HRs("indhold") = ""
    HRs.Update
    Hid = Hrs("Historikid")
'    Session("hisID") = Hid
    Initialiservariabler
  End if


  If (Request.form("hSave") = " Gem ")  Then

    Rfound = False
    Hrs.Movefirst
    Do while not HRs.Eof and not Rfound
      If Hrs("HistorikId") = Hid Then
          response.write Found
          RFound = TRue
          HRs("dato") = Request.Form("Hdato")
          HRs("type") = Request.Form("htypedropdown")
          HRs("konsulent") = Request.Form("kondropdown")
          HRs("kilde") = Request.Form("hkildedropdown")
          HRs("emne") = REquest.Form("hemne")
          HRs("indhold") = Request.Form("hindhold")
          If Request.form("Hstart") <> "" Then Hrs("Start") = Request.form("Hstart")
          If Request.form("Hslut") <> "" Then Hrs("Slut") = Request.form("Hslut")
          HRs.Update
          Hid = Hrs("Historikid")
      Else
          HRs.Movenext
      End if
    Loop 
    response.redirect("historikedit.asp?id="&Hid)

  End if

  Sub InitialiserVariabler
      Hdato = HRs("Dato")
      Htype = HRs("Type")
      Hkonsulent = HRs("konsulent")
      Hkilde = HRs("kilde")
      Hemne = HRs("emne")
      Hindhold = HRs("indhold")
      Hstart = HRs("start")
      Hslut = HRs("slut")     
  End sub

%>

<body bgcolor="#66ccff" text="#000000" link="#0000ff" vlink="#660066" alink="#ff0000"><FONT face=Verdana size=2>

<P>
<FONT face=Verdana size=1></FONT>

<font face="Verdana" size="2"><b>Navn:</b></font>
<INPUT maxlength=50 size=75 name=navn value="<%=lNavn%>">
<Br>
<Br>
<table border="0">

<tr>
  <td><font face="Verdana" size="2"><b>Dato:</b></font></td>
  <td><INPUT maxlength=10 size=10 name=Hdatonavn value="<%=Hdato%>">&nbsp;</td>
</Tr>

<tr>
  <td><font face="Verdana" size="2"><b>Type:</b></font></td>
  <td>
  <%
  Set Cbors = Server.CreateObject("ADODB.Recordset")
  Cbors.Open "smødetyper", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
  Response.Write "<select name=htypedropdown size=1>"

  Do While Not CboRs.EOF
    If CboRs("mødeid") = Htype Then
      Response.Write "<option value='" & CboRs("Mødeid") & "' selected>" & CboRs("Beskrivelse") & "</option>"
    Else
      Response.Write "<option value=" & CboRs("Mødeid") & ">" & CboRs("Beskrivelse") & "</option>"
    End if
    CboRs.MoveNext
  Loop
 
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Konsulent:</b></font></td>
  <td>
  <%
  Set Cbors = Server.CreateObject("ADODB.Recordset")
  Cbors.Open "skonsulenter", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
  Response.Write "<select name=Kondropdown size=1>"

  Do While Not CboRs.EOF
    If CboRs("Konsulentid") = HKonsulent Then
      Response.Write "<option value='" & CboRs("Konsulentid") & "' selected>" & CboRs("Navn") & "</option>"
    Else
      Response.Write "<option value=" & CboRs("Konsulentid") & ">" & CboRs("Navn") & "</option>"
    End if
    CboRs.MoveNext
  Loop
 
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Dok.Type:</b></font></td>
  <td>
  <%
  Set Cbors = Server.CreateObject("ADODB.Recordset")
  Cbors.Open "sdokumenttyper", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
  Response.Write "<select name=hkildedropdown size=1>"

  Do While Not CboRs.EOF
    If CboRs("doktype") = Hkilde Then
      Response.Write "<option value='" & CboRs("doktype") & "' selected>" & CboRs("Beskrivelse") & "</option>"
    Else
      Response.Write "<option value=" & CboRs("doktype") & ">" & CboRs("Beskrivelse") & "</option>"
    End if
    CboRs.MoveNext
  Loop
 
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
</tr>

<Tr>
  <td><font face="Verdana" size="2"><b>Emne:</b></font></td>
  <td><INPUT maxlength=70 size=70 name=hemne value="<%=hemne%>">&nbsp;</td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Notat:</b></font></td>
  <td><textarea name=hindhold cols="60" rows="15" class="border"><%=hindhold%></textarea></td>
</tr>






<Br>
<Br>



</td>
</table>
<Br>
<Br>

<%
' Now showing first, next, back, last buttons.

  Response.Write "<div align=""center"">" '& vbcrlf
%>
<input type="submit" name="hsave" value=" Gem ">&nbsp;&nbsp;
<input type="submit" name="hdelete" value=" Slet ">&nbsp;&nbsp;

<%
  'hrs.Close
  Set hrs = Nothing
  closedatabase


%>

</form>



</body>
</html>

Fejlen kommer ved klik på "GEM" og jeg har på fornemmelsen at fejlen opstår i sub InitialiserVariabler - men jeg kan ikke gennemskue hvorfor?
Avatar billede eagleeye Praktikant
29. august 2004 - 01:20 #1
Hvad står der i linie 144 hvor fejlen kommer:
/crm/historikedit.asp, line 114
Avatar billede michaelfp Nybegynder
29. august 2004 - 01:29 #2
Hej Eagleeye

Det er linien med sub InitialiserVariabler
Avatar billede eagleeye Praktikant
29. august 2004 - 01:29 #3
ok problemet kan måske være du midster hid ved " Gem "

Prøv at flytte din <form> tag ned efter funktionen InitialiserVariabler:
Sådan her samt tilføje hid til linket så det ikke går tabt.

<body bgcolor="#66ccff" text="#000000" link="#0000ff" vlink="#660066" alink="#ff0000"><FONT face=Verdana size=2>
<form action="historikedit.asp?cmd=update&hid=<%=HID%>" method="post">
Avatar billede eagleeye Praktikant
29. august 2004 - 01:30 #4
Så kan du også fjerne det øverste <body> tag så du ikke har 2 <body> tags
Avatar billede michaelfp Nybegynder
29. august 2004 - 01:38 #5
Jeg har gjort som du foreslår - men det ændrer intet:

Den komplette kode ser nu således ud:

<% Option Explicit
' ADO constants used in this page
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1
Const adCmdTableDirect = &H0200
Const adUseClient = 3
%>


<html>
<!-- #include file="databasefunctions.inc" -->
<!-- #include file="globalvars.inc" -->
<head>

</head>

<style>
a {
font-size: 11px;
color: #336699;
font-family: geneva, verdana, helvetica, arial;
text-decoration: none
}
a:hover {
color: #000000;
text-decoration: none
}
</style>




<%
Dim Hrs,CboRs,StrSQL, Hid
Dim LNavn, LKid, MtTxt,kildetxt
Dim Hdato,Htype,Hkonsulent,Hkilde,Hemne,Hindhold,Hstart,Hslut
Dim RFound


  LkId = Session("globalkandidatid")

  Lnavn = Session("globalkandidatnavn")


  Opendatabase
  Set Hrs = Server.CreateObject("ADODB.Recordset")
  Hrs.Open "skandidathistorik", conn,3 ,3


  Response.write Request.form("hSave")
  Response.write Hid


  If IsNumeric(REquest("Id")) Then ' en bestående post skal vises
    Hid = CLng(Request("Id"))
    Rfound = False
    HRs.Movefirst
    Do while not HRs.Eof and not Rfound
      If Hrs("HistorikId") = Hid Then
        RFound = TRue
      Else
        HRs.Movenext
      End if
    Loop
    Initialiservariabler
  end if

  If REquest("Id") = "ny" Then
    ' opret ny record
    HRs.AddNew
    HRs("dato") = date
    HRs("kandidatid") = lkid
    HRs("type") = 1
    HRs("konsulent") = GetCurrKOnsulent
    HRs("kilde") = 1
    HRs("emne") = ""
    HRs("indhold") = ""
    HRs.Update
    Hid = Hrs("Historikid")
'    Session("hisID") = Hid
    Initialiservariabler
  End if


  If (Request.form("hSave") = " Gem ")  Then

    Rfound = False
    Hrs.Movefirst
    Do while not HRs.Eof and not Rfound
      If Hrs("HistorikId") = Hid Then
          response.write Found
          RFound = TRue
          HRs("dato") = Request.Form("Hdato")
          HRs("type") = Request.Form("htypedropdown")
          HRs("konsulent") = Request.Form("kondropdown")
          HRs("kilde") = Request.Form("hkildedropdown")
          HRs("emne") = REquest.Form("hemne")
          HRs("indhold") = Request.Form("hindhold")
          If Request.form("Hstart") <> "" Then Hrs("Start") = Request.form("Hstart")
          If Request.form("Hslut") <> "" Then Hrs("Slut") = Request.form("Hslut")
          HRs.Update
          Hid = Hrs("Historikid")
      Else
          HRs.Movenext
      End if
    Loop 
    response.redirect("historikedit.asp?id="&Hid)

  End if

  Sub InitialiserVariabler
      Hdato = HRs("Dato")
      Htype = HRs("Type")
      Hkonsulent = HRs("konsulent")
      Hkilde = HRs("kilde")
      Hemne = HRs("emne")
      Hindhold = HRs("indhold")
      Hstart = HRs("start")
      Hslut = HRs("slut")     
  End sub

%>

<form action="historikedit.asp?cmd=update&hid=<%=HID%>" method="post">

<body bgcolor="#66ccff" text="#000000" link="#0000ff" vlink="#660066" alink="#ff0000"><FONT face=Verdana size=2>

<P>
<FONT face=Verdana size=1></FONT>

<font face="Verdana" size="2"><b>Navn:</b></font>
<INPUT maxlength=50 size=75 name=navn value="<%=lNavn%>">
<Br>
<Br>
<table border="0">

<tr>
  <td><font face="Verdana" size="2"><b>Dato:</b></font></td>
  <td><INPUT maxlength=10 size=10 name=Hdatonavn value="<%=Hdato%>">&nbsp;</td>
</Tr>

<tr>
  <td><font face="Verdana" size="2"><b>Type:</b></font></td>
  <td>
  <%
  Set Cbors = Server.CreateObject("ADODB.Recordset")
  Cbors.Open "smødetyper", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
  Response.Write "<select name=htypedropdown size=1>"

  Do While Not CboRs.EOF
    If CboRs("mødeid") = Htype Then
      Response.Write "<option value='" & CboRs("Mødeid") & "' selected>" & CboRs("Beskrivelse") & "</option>"
    Else
      Response.Write "<option value=" & CboRs("Mødeid") & ">" & CboRs("Beskrivelse") & "</option>"
    End if
    CboRs.MoveNext
  Loop
 
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Konsulent:</b></font></td>
  <td>
  <%
  Set Cbors = Server.CreateObject("ADODB.Recordset")
  Cbors.Open "skonsulenter", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
  Response.Write "<select name=Kondropdown size=1>"

  Do While Not CboRs.EOF
    If CboRs("Konsulentid") = HKonsulent Then
      Response.Write "<option value='" & CboRs("Konsulentid") & "' selected>" & CboRs("Navn") & "</option>"
    Else
      Response.Write "<option value=" & CboRs("Konsulentid") & ">" & CboRs("Navn") & "</option>"
    End if
    CboRs.MoveNext
  Loop
 
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Dok.Type:</b></font></td>
  <td>
  <%
  Set Cbors = Server.CreateObject("ADODB.Recordset")
  Cbors.Open "sdokumenttyper", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
  Response.Write "<select name=hkildedropdown size=1>"

  Do While Not CboRs.EOF
    If CboRs("doktype") = Hkilde Then
      Response.Write "<option value='" & CboRs("doktype") & "' selected>" & CboRs("Beskrivelse") & "</option>"
    Else
      Response.Write "<option value=" & CboRs("doktype") & ">" & CboRs("Beskrivelse") & "</option>"
    End if
    CboRs.MoveNext
  Loop
 
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
</tr>

<Tr>
  <td><font face="Verdana" size="2"><b>Emne:</b></font></td>
  <td><INPUT maxlength=70 size=70 name=hemne value="<%=hemne%>">&nbsp;</td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Notat:</b></font></td>
  <td><textarea name=hindhold cols="60" rows="15" class="border"><%=hindhold%></textarea></td>
</tr>






<Br>
<Br>



</td>
</table>
<Br>
<Br>

<%
' Now showing first, next, back, last buttons.

  Response.Write "<div align=""center"">" '& vbcrlf
%>
<input type="submit" name="hsave" value=" Gem ">&nbsp;&nbsp;
<input type="submit" name="hdelete" value=" Slet ">&nbsp;&nbsp;

<%
  hrs.Close
  Set hrs = Nothing
  closedatabase


%>

</form>



</body>
</html>
Avatar billede michaelfp Nybegynder
29. august 2004 - 01:39 #6
fejlmeddelelse:

Gem
ADODB.Field error '800a0bcd'

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

/crm/historikedit.asp, line 112
Avatar billede eagleeye Praktikant
29. august 2004 - 01:40 #7
Det skulle være id og ikke hid årøv lige:
<form action="historikedit.asp?cmd=update&id=<%=HID%>" method="post">
Avatar billede michaelfp Nybegynder
29. august 2004 - 01:47 #8
Tak eagleeye - som en del gange tidligere har du løst mit problem.
Jeg har hævet point (jeg skyldte for en tidligere hjælp). Laver du et svar?
Avatar billede eagleeye Praktikant
29. august 2004 - 01:49 #9
ok, ja jeg laver gerne et svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester