Avatar billede www.triffid.dk Nybegynder
13. juni 2001 - 23:34 Der er 30 kommentarer og
1 løsning

Vise andennyeste record fra en database

Jeg bruger access, og vil gerne vise den andennyeste record i databasen. Hvordan ?
Avatar billede no_doubt Nybegynder
13. juni 2001 - 23:36 #1
Du kan jo ik forudsige den nyeste så det tror jeg ikke du kan!
Avatar billede no_doubt Nybegynder
13. juni 2001 - 23:36 #2
Jo måske man kan finde det højste og sige -1 til det. Men not my kind of work *g*
Avatar billede tdaugaard Nybegynder
13. juni 2001 - 23:39 #3
hmm ...
Hvis du har et autonummeringsfelt f.eks. kaldet ID kan du gøre flg.:

SELECT TOP 1 * FROM mintabel WHERE id<MAX(id) ORDER BY id DESC;
Avatar billede tdaugaard Nybegynder
13. juni 2001 - 23:40 #4
Så vil du få den 2. nyeste post ..
Avatar billede www.triffid.dk Nybegynder
13. juni 2001 - 23:44 #5
Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Microsoft Access Driver] Cannot have aggregate function in WHERE clause (id<MAX(id)).

???
Avatar billede tdaugaard Nybegynder
13. juni 2001 - 23:47 #6
hmm .. okay, så må du lave to kald:

sql = \"SELECT MAX(id) FROM mintabel;\": set rs = conn.execute(sql)
sql = \"SELECT TOP 1 * FROM mintabel WHERE id<\" & rs(0) & \" ORDER BY id DESC;\"
set rs = conn.execute(sql)
Avatar billede www.triffid.dk Nybegynder
13. juni 2001 - 23:50 #7
øhhh???

Object required: \'conn\'

???
Avatar billede tdaugaard Nybegynder
13. juni 2001 - 23:53 #8
du skal skifte \"conn\" ud med navnet på din database forbindelse..
Avatar billede www.triffid.dk Nybegynder
13. juni 2001 - 23:54 #9
ahhhh heh
Avatar billede erikjacobsen Ekspert
13. juni 2001 - 23:54 #10
Be\' da om \"TOP 2\" og skip den første
Avatar billede www.triffid.dk Nybegynder
13. juni 2001 - 23:55 #11
jammen dog....det virker sq
Avatar billede www.triffid.dk Nybegynder
13. juni 2001 - 23:56 #12
mange tak
Avatar billede tdaugaard Nybegynder
13. juni 2001 - 23:57 #13
e.j.:> *LOL* jeg er sku træt ... men det gør ikke den store forskel ..
Avatar billede erikjacobsen Ekspert
14. juni 2001 - 00:00 #14
Funktionelt ikke, tdaugaard, men nok lidt i hastighed *GAB*
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:02 #15
hvis du lige har tid:
hvordan får man så den tredjenyeste ???
Avatar billede orca Nybegynder
14. juni 2001 - 00:06 #16
Hvis ikke jeg tager meget fejl er det vel bare:

sql = \"SELECT MAX(id) FROM mintabel;\": set rs = conn.execute(sql)
sql = \"SELECT TOP 1 * FROM mintabel WHERE id<\" & rs(1) & \" ORDER BY id DESC;\"
set rs = conn.execute(sql)

Virker det ikke?
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:07 #17
ADODB.Recordset error \'800a0cc1\'

Item cannot be found in the collection corresponding to the requested name or ordinal.

Avatar billede tdaugaard Nybegynder
14. juni 2001 - 00:07 #18
triffid.dk:> skift TOP 1 ud med TOP 2 .. så får du den 2. og 4. nyeste ---
Avatar billede tdaugaard Nybegynder
14. juni 2001 - 00:08 #19
e.j.:> mjae ..
orca:> nej nej ..
triffid.dk:> ups .. den 2. og 3. nyeste med TOP 2.
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:11 #20
med top 2 giver den da det samme som med top 1
Avatar billede orca Nybegynder
14. juni 2001 - 00:14 #21
whops, jeg lavede en fejl... nu tør jeg næsten ikke svare igen af frygt for at give et forkert svar ;o). med Top 2 vil jeg gætte på at det skal se således ud:

sql = \"SELECT MAX(id) FROM mintabel;\": set rs = conn.execute(sql)
sql = \"SELECT TOP 2 * FROM mintabel WHERE id<\" & rs(1) & \" ORDER BY id DESC;\"
set rs = conn.execute(sql)

Undskyld hvis det er forkert ;O) - har ikke lige mulighed for at teste det
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:17 #22
detsværre:

ADODB.Recordset error \'800a0cc1\'

Item cannot be found in the collection corresponding to the requested name or ordinal.

hehe
Avatar billede erikjacobsen Ekspert
14. juni 2001 - 00:17 #23
der er ikke noget der hedder rs(1), orca
Avatar billede orca Nybegynder
14. juni 2001 - 00:20 #24
shit :(. jeg ved ikke hvad jeg tænker på... ;o). hvad så med WHERE id< top 1 order by blah blah... kan det lade sig gøre? - eller skal jeg bare blande mig ud af diskussionen? ;o)
Avatar billede erikjacobsen Ekspert
14. juni 2001 - 00:28 #25
Nej, du er skam meget underholdende, orca. Bliv endelig :)

Min idé til at finde den 3. nyeste (kan let laves om til at finde den
2. nyeste):

sql = \"SELECT TOP 3 * FROM mintabel ORDER BY id DESC;\"
set rs = conn.execute(sql)
rs.movenext
rs.movenext
if not rs.eof then
  ...udskriv 3. nyeste...
end if
Avatar billede orca Nybegynder
14. juni 2001 - 00:30 #26
hehe, det er sjovt det her. At lære samtidig med at man underholder de andre... minder lidt om skolen hvor man også underholder alle andre i klassen i timerne... man lærer bare ikke noget :)
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:35 #27
hmmm virker vist ikke
Avatar billede erikjacobsen Ekspert
14. juni 2001 - 00:38 #28
Joh, det virker skam....
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:40 #29
gør det det??
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:44 #30
det gør det sq også, min fejl.....også tak til dig.
jeg deler pointne lige ud mellem dig og tdaugaard.

Mange tak til jer begge
Avatar billede www.triffid.dk Nybegynder
14. juni 2001 - 00:44 #31
guess not :(
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



IT-JOB

Metroselskabet og Hovedstadens Letbane

IT Full Stack-udvikler

Udviklings- og Forenklingsstyrelsen

Kontorchef til Erhvervs- og EU-løsninger

Udviklings- og Forenklingsstyrelsen

Business Analysts til Internationalt Samarbejde