Avatar billede stefan Nybegynder
18. oktober 1999 - 16:42 Der er 9 kommentarer og
1 løsning

Autonummerering

Jeg indsætter noget i en accessdatabase hvor nøglen er et autonummereringsfelt.

Spørgsmålet er så hvordan får jeg fat i denne værdi uden at lave et nyt opslag i databasen ?
Avatar billede midgaardsorm Nybegynder
18. oktober 1999 - 16:53 #1
Ikke forstået !!!
Avatar billede stefan Nybegynder
18. oktober 1999 - 19:11 #2
Jeg vil gerne vide hvilken id en nyindsat post i databasen får...?

Jeg indsætter en ny post og vil feks. gerne udskrive det id som den ny post har fået.

Håber det hjælper ...lidt.
Avatar billede midgaardsorm Nybegynder
18. oktober 1999 - 20:58 #3
Den nye værdi "flyder" i hukommelsen og du kan fange den ved at kalde feltet !!
Avatar billede brian_d Nybegynder
18. oktober 1999 - 21:10 #4
du kan også bruge dlast + 1

eks.:

nr = dlast("[autonummer]","tabel1") + 1

Det giver det næste nummer

Avatar billede uffe_kld Nybegynder
19. oktober 1999 - 12:53 #5
Til Brian_d

Din løsning vil ikke altid give det rigtige svar, fx. hvis der der er blevet slettet en eller flere poster, vil din løsning giver forkert svar.

Avatar billede stefan Nybegynder
19. oktober 1999 - 15:42 #6
Her er noget af min kode:
__________________
  insert = "insert into e_postkort (afs_email) values ('" & afs_email & "');"

  set rs= conn.execute( insert )
  response.write rs("e_postkort_id")
__________________
E_postkort_id er mit autoopdateringsfelt i databasen, det er denne værdi jeg gerne vil have ud.

Men ovenstående kode virker ikke....
Avatar billede kichian Nybegynder
21. oktober 1999 - 20:01 #7
Standard metoden er :
rs = "select * from tabel where 1=0"
' Dvs at der hentes intet, bortset fra en ref til tabellen.
Udfør
rs.New
rs("afs_email") = skjdgjs
rs.MoveLast
denNyeId = rs("e_postkort_id")
Avatar billede a1a1 Novice
22. oktober 1999 - 15:39 #8
insert = "insert into e_postkort (afs_email) values ('" & afs_email & "');"

  conn.execute( insert )
  response.write rs("e_postkort_id")

strSQLfind = "SELECT @@IDENTITY AS NewID FROM e_postkort "
Set nytnummer = Conn.Execute(strSQLfind)
tal = nytnummer("NewID")

Response.Write tal

:)
Avatar billede kichian Nybegynder
23. oktober 1999 - 09:40 #9
Findes @@IDENTITY i Access?
Avatar billede kichian Nybegynder
23. oktober 1999 - 10:03 #10
Jeg har netop konstateret et @@IDENTITY kan bruges med Access 2000, men ikke Access 97.
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