Avatar billede juggalo Nybegynder
19. februar 2003 - 08:46 Der er 8 kommentarer og
1 løsning

Løbende tæller i Access 2000

Kan det lade sig gøre at lave en SELECT, hvor man trækker et eller flere felter fra en tabel, samt en løbende tæller (altså så første record får nr. 1, næste nr. 2 osv...)

Altså en form for autonummeringsfelt, som kun eksisterer i recordsettet....

Nogen som kan knække den??
19. februar 2003 - 08:49 #1
Du kan lave en funktion, som f.eks. ser således ud:

Public Function GetNextID () as Long
  Static ID as Long
  ID = ID + 1
  GetNextID = ID
End function

Derefter laver du blot en kolonne i din query, som f.eks. hedder:
Tæller: GetNextID()

/Thomas
Avatar billede juggalo Nybegynder
19. februar 2003 - 09:26 #2
Okay - havde håbet det kunne laves i et rent SQL kald, men nuvel.... hvor skal jeg så tappe funktionen ind??
19. februar 2003 - 09:28 #3
i et modul!

Det er desværre ikke muligt at lave det vha SQL alene!

På Oracle kan du vel lave det med en sequence, men ikke i access eller op SQL server.
Avatar billede juggalo Nybegynder
19. februar 2003 - 09:33 #4
ålrajt - det vil jeg prøve :)
Avatar billede juggalo Nybegynder
19. februar 2003 - 09:36 #5
argh! Det virker ikke helt efter hensigten.....

GetNextId tæller kun 1 op hver gang query'en køres, dvs. den bliver samme værdi for hele recordsætte!

Tanken var jo, at den skulle være løbende....
19. februar 2003 - 09:37 #6
øjeblik...
19. februar 2003 - 09:43 #7
Ahh, nå man ikke parameteroverfører en værdi, så spørger den kun én gang på funktionen.

Lav din funktion således i stedet:
Public Function GetNextID (Dummy as Variant) as Long
  Static ID as Long
  ID = ID + 1
  GetNextID = ID
End function

Og din kolonne således:
Tæller: GetNextID([Navn på et af dine felter])
Avatar billede juggalo Nybegynder
19. februar 2003 - 09:58 #8
okay, der ser jo ud til at virke fino... men der er dog stadig lige en ting....
Avatar billede juggalo Nybegynder
19. februar 2003 - 10:01 #9
Jeg har 2 tabeller, som begge har et autonummerfelt og et værdifelt.

Jeg ville gerne bruge ovenstående funktion til at kunne select'e værdifeltet og tælleren fra begge tabeller så jeg kan joine værdifelterne sammen parvis... altså:

tabel1:
id
værdi1

tabel2:
id
værdi2

recordset:
tabel1.værdi1(1), tabel2.værdi2(1)
tabel1.værdi1(2), tabel2.værdi2(2)
tabel1.værdi1(3), tabel2.værdi2(3)
tabel1.værdi1(4), tabel2.værdi2(4)
osv.

Nogen ide til hvordan det eventuelt kan gøres??
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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