Avatar billede fumes Nybegynder
09. september 1999 - 14:51 Der er 13 kommentarer og
1 løsning

movenext - moveprevious ??

Jeg har oprettet et recordset, valgt nogle poster ud via mit SQL statement, og vil gerne kunne fare igennem posterne ved at bruge

db.movenext (dette virker upåklageligt)

og

db.moveprevious (Browseren bliver sur på mig)

jeg har sågar prøvet

db.moveprev (browseren knurrer truende af mig)

Kan det ikke lade sig gøre i ASP eller hvad ???

Databasen er en access database..
Avatar billede reason Nybegynder
09. september 1999 - 14:57 #1
man kan altid pruge en fejl meddelse (det er ikke browseren der bliver sur, det er serveren )
Avatar billede Dan Nim Seniormester
09. september 1999 - 14:58 #2
du skal kunne bruge :db.moveprevious

som du selv skriver, den virker

hvsd for en fejl får du ?
Avatar billede fumes Nybegynder
09. september 1999 - 14:59 #3
Ved det, men kan ikke huske det, det var i går aftes jeg fik fejlen - og har nu programmeret mig ud af problemet ved selv at programmere en moveprevious. Ville bare lige vide om kommandown eksisterede eller om den havde et andet navn !
Avatar billede Dan Nim Seniormester
09. september 1999 - 15:00 #4
Det gør det.
Avatar billede flemming Nybegynder
09. september 1999 - 15:03 #5
Dit problem er nok at "pegepinden" står i starten når du forsøger at flytte den tilbage - hvilket selvfølgeligt er muligt.

Du kan flytte recordpointeren ved f.eks. at bruge:

db.MoveLast

og herefter løbe recordsettet igennem indtil du støder på RS.BOF

Der er dog den mulighed at databasen ikke understøtter moveprevious metoden.

Her er hvad jeg fant i dokumentationen:

"Use the MovePrevious method to move the current record position one record backward (toward the top of the Recordset). The Recordset object must support bookmarks or backward cursor movement; otherwise, the method call will generate an error. If the first record is the current record and you call the MovePrevious method, ADO sets the current record to the position before the first record in the Recordset (BOF is True). An attempt to move backward when the BOF property is already True generates an error. "

Avatar billede fumes Nybegynder
09. september 1999 - 15:27 #6
Jeg står ikke i starten af databasen. Jeg checker for både BOF og EOF når jeg scroller igennem, så det er IKKE problemet !

Den brokkede sig decideret over kommandoen, jeg tror dog ikke at det er databasens skyld at den kommer med fejlen... (Hvorfor satan kan jeg ikke huske den forbandede fejlmeddelse...)

Vender tilbage med den når jeg har den !
Avatar billede flemming Nybegynder
09. september 1999 - 15:48 #7
Hvis du er sikker på din kode så er årsagen at databasen ikke supporterer "bookmarks or backward cursor movement" :(
Avatar billede fumes Nybegynder
09. september 1999 - 15:53 #8
Men gør almindelige mdb databaser da ikke det ??
Avatar billede flemming Nybegynder
10. september 1999 - 13:10 #9
Jeg har ikke selv prøvet det, men her er hvad jeg fant i MS Access97 dokumentationen:

"You can't use the MoveFirst, MoveLast, and MovePrevious methods on a forward-only–type Recordset object."

så man kan nok konkludere at "det kan du ikke" :=(

Er det ikke muligt at vandre den anden vej ?
Avatar billede fumes Nybegynder
10. september 1999 - 13:17 #10
Jeg kan saktens bruge MoveFirst !!

Har endnu ikke haft brug for at prøve movelast !!
Avatar billede thomas Nybegynder
10. september 1999 - 13:29 #11
det har noget at gøre med den måde du åbner dit recordset på, kig i ado dokumentationen og se efter hvilke parametre du kalder recordset.open med, der er adskillige, recordsets hvor du kan flytte frem og tilbage er langsommere end recordsets hvor du kun kan gå fremad i recordsettet.

ado dokumentationen følger med iis/pws, for 15 point må du selv finde det ;-)

prøv : recordset.open sql, adOpenDynamic (kræver du inkludere adovbs.inc)
Avatar billede flemming Nybegynder
10. september 1999 - 13:56 #12
var lige inde og kigge i ADO hjælpen, og der står godt nok at, default er "adOpenForwardOnly" ;=)

Interresant at "Access" dokumentationen ikke skriver meget om dette - men ok, ADO er nok ikke det der er gjort mest ud af.
Avatar billede reason Nybegynder
10. september 1999 - 14:06 #13
det kan være fordi du åbner databasen som readonly og der kan du ikke bruge MovePrevious.
prøv at skriv din connection string her
Avatar billede fumes Nybegynder
10. september 1999 - 14:09 #14
Kan ikke lige huske connectionstringen, men jeg kører en SQL update på basen - så den er ikke lige åbnet readonly !!

Jeg tror dog nok at kan kan bruge flemmings svar - du får de 15 point. Så må jeg lige prøve at bikse lidt med min connection til databasen - havde sku ikke lige tænkt i de tanker !!!
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

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