03. november 2000 - 09:58Der er
17 kommentarer og 1 løsning
Do while...
Hej jeg får en fejlmeddelsen når jeg eksekverer denne do while sætning:
dagCount = retur_SqlQ(\"TidFra\")-1 \'retur_SqlQ(\"tidFra\") er eksemplevis = 5 do while dagCount < retur_SqlQ(\"TidTil\")\'retur_SqlQ(\"tidTil\") er eksemplevis = 18 dagCount = dagCount+1 if len(dagCount) = 1 then dagCount = \"0\" & dagCount end if loop
Fejlmeddelsen er som følger:
ADODB.Recordset error \'800a0cc1\' Item cannot be found in the collection corresponding to the requested name or ordinal.
-------------- Håber at der er nogen der kan hjælpe :)
Men hvorfor lægger du ikke din værdi fra TidTil i en variabel og bruger den til sammenligning... Ligger TidFra i øvrigt før eller efter TidTil. Jeg har nemli haft problemmer med at tilgå data i et recordset, hvis jeg tager dem bagfra.....
Jeg kan sige at det er svært at vide hvad der kommer ud af en streng - tal sammenligning, VB dok, siger bare : If : One expression is numeric and the other is a string
Then : The numeric expression is less than the string expression.
Desuden ved jeg da at fejl medl. :
ADODB.Recordset error \'800a0cc1\' Item cannot be found in the collection corresponding to the requested name or ordinal.
Betyder at den ikke kunne finde navnet i den bunke data som( i dette tilfælde ) dit recordset indeholder. Er du helt sikker på at du har skrevet rigtigt. ?
Fejler denne kode ikke :
dagCount = retur_SqlQ(\"TidFra\")-1 \'retur_SqlQ(\"tidFra\") er eksemplevis = 5 response.write retur_sqlQ(\"TidTil\") do while dagCount < retur_SqlQ(\"TidTil\")\'retur_SqlQ(\"tidTil\") er eksemplevis = 18 dagCount = dagCount+1 if len(dagCount) = 1 then dagCount = \"0\" & dagCount end if loop
Måske skulle du lige prøve at forklare hvad det er du gerne vil have der skal ske. Og nej det er ikke fordi det ikke er et tal, hvis det var sådan ville man aldrig kunne lave dynamsike do while løkker og det kan man godt. Men som sagt prov lige at ridse problemet op engang.....
Løkken skal skrive X antal linier ud. De X antal er baseret ud fra to værdier (TidFra) og (TidTil)
Dvs. Hvis TidFra = 10, Starter den fra tallet 10 Hvis TidTil = 18, Slutter den ved tallet 18 ... og skriver hermed 8 linier ud.
Dette kan gøre meget nemmere - men det er i forbindelse med en tidsoversigt for en hel dag. Dvs, at man kan få vist en tidshorisont der strækker sig fra Kl. 10.00 til Kl. 18.00.
Håber at det kunne hjælpe lidt. Jeg har også listet hele koden.
Okay Det er fordi at du genbruger dit retur_SqlQ, inden du er kommet ud af loopet.
HER : ------------------- SqlQ = \"Select * From Data_Kalender Where (KalenderTidFra Like \'%\" & left(dagCount, 2) & \":%\') AND (KalenderDatoFra = \'\" & RQ_strdate & \"\')\" Set retur_SqlQ = Connection.execute(SqlQ) ------------------- Skal du bruge et andet recordset
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.