Avatar billede janr Nybegynder
07. september 2003 - 22:36 Der er 7 kommentarer og
2 løsninger

Det giver ingen mening - ADODB.Recordset error '800a0cc1'

Hej Eksperter.

Hele eftermiddagen har jeg siddet med et problem, som på ingen måde giver nogen mening. Jeg skal tilføje en ny post til et Recordsset, som jeg gør ved nedenstående kode. Men ved linien "oRs("LineTotalTax") = ..." får jeg den velkendte fejl "ADODB.Recordset error '800a0cc1' Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal."

Men det underlige er, at feltet findes. Jeg har sammenlignet en milliard gange og feltet hedder det samme i koden og i databasen. Jeg har prøvet at ændre feltnavn uden at det har hjulpet noget. Jeg har prøvet at lave en helt ny database fra bunden, blot for at opleve at fejlen opstår præcis samme sted igen.

Hvad er der galt? Hvorfor fejler den netop dér? Hvordan kommer jeg uden om problemet?


--- klip ---

set oRs = server.CreateObject("ADODB.Recordset")
oRs.CursorLocation = adUseServer
oRs.CursorType = adOpenKeyset
oRs.LockType = adLockoptimistic
               
strSQL = "Select * FROM Lines"
oRs.Open strSQL, oConn, , , adCmdText
           
oRs.AddNew
oRs("ClientID")        = intClientID
oRs("GroupID")         = intGroupID
oRs("UserID")         = intUserID
oRs("LineDate")      = dateLine
oRs("LineText")      = strLineText
oRs("LineHours")    = intLineHours
oRs("LineHourlyRate")= intLineHourlyRate
oRs("LineTotal")    = intLineHours * intLineHourlyRate
oRs("LineTotalTax")  = intLineHours * intLineHourlyRate * dblTaxRate
oRs("LineNotes")    = strLineComments
oRs.Update
       
set oRs = nothing

--- klip ---
Avatar billede eagleeye Praktikant
07. september 2003 - 22:40 #1
Har du prøvet at bytte rundt på eksvis

oRs("LineTotal")    = intLineHours * intLineHourlyRate
oRs("LineTotalTax")  = intLineHours * intLineHourlyRate * dblTaxRate

og se om fejlen komme i samme kolonne eller den så kommer i LineTotal ?
Avatar billede nielle Nybegynder
07. september 2003 - 22:40 #2
Jeg havde engang en lignende fejl. Det viste sig at jeg ved et tilfælde havde fået tilføjet et mellemrum i slutningen af feltnavnet da jeg oprettede det. Det hed derfor "Navn " i stedet for "Navn". Den VAR rimeligt svær at spotte. ;^)
Avatar billede socle Nybegynder
07. september 2003 - 22:40 #3
hvad med 'dblTaxRate'; findes den i dit script? Hvor kommer den fra; en tastefejl i html koden måske?
Avatar billede erikjacobsen Ekspert
07. september 2003 - 22:40 #4
Kan du lægge databasen til download et sted?
Avatar billede janr Nybegynder
07. september 2003 - 23:00 #5
*Arrrggghhh*!!!
jeg har klippet lidt i koden, for at gøre det lidt mere overskueligt for jer. Mellem linierne oRs("LineTotal") og oRs("LineTotalTax") står (eller rettere stod) "dblTaxRate = 1 + cCur(GetCompanyField(intGroupID, "TaxRate", oConn))"
Og det var åbenbart den linie der skabte problemer. Linien kalder en funktion, som også bruger objektet oRs. Damn! Bare ved at flytte den kode, er problemet løst.

Det er lige 4 timer jeg har spildt på at finde ud af det. 4 timer som jeg aldrig får tilbage :-(

Nå, men hvem vil have nogle points? EagleEye og Socle der var jeres kommentarer, der fik mig på sporet, men jeg kan ikke give points til jer. Hvis I indlægger et svar, så kan I få lov at dele de 200 points
Avatar billede erikjacobsen Ekspert
07. september 2003 - 23:05 #6
Hvis det er fordi din funktion opretter et oRs selv skal du blot dim-me
det i funktionen. Så skulle det være klaret. Og det er et godt resultat
at få ud af 4 timer: altid dim-me lokale variabler i funktioner og subs
Avatar billede socle Nybegynder
07. september 2003 - 23:05 #7
jamen så lige et svar. rart at ku hjælpe
Avatar billede eagleeye Praktikant
07. september 2003 - 23:06 #8
Ja mange fejl findes når andre stiller spørgsmål til den uden overhoved at kende til den ;)
Avatar billede janr Nybegynder
07. september 2003 - 23:10 #9
Tak for hjælpen alle sammen :-D
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