Avatar billede suned Nybegynder
06. februar 2002 - 18:40 Der er 7 kommentarer og
1 løsning

Hvordan fanger jeg det id for den række jeg lige har sat ind

Hvordan fanger jeg det id(autonummerrering) for den række jeg lige har sat ind. Skal bruges i forbindelse med en relation til en anden tabel. Jeg arbejder i Access 2000
Avatar billede coltau Juniormester
06. februar 2002 - 18:46 #1
Her er en lille kode til det:

<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("test.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "Select * From tabel"
rs.Open strSQL, Conn, 1, 3 ' adOpenKeyset, adLockOptimistic
  rs.AddNew
  rs("felt1") = strFelt1
  osv ...
  rs.Update

  rs("ID")
%>

Hvis du åbner tabellen på ovennævnte måde og indsætter den nye post med rs.AddNew kan du efter rs.Update aflæse autonummer ID med rs("ID")
Avatar billede krogstrup Nybegynder
06. februar 2002 - 18:48 #2
Set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/data.mdb")
strSQL = "SELECT * FROM minTabel WHERE ID = 0"
rs.Open strSQL, strDSN, 1, 3


...opret ny record

rs.Update

nyID = rs("ID")

rs.Close
Set rs = Nothing

response.write nyID
Avatar billede krogstrup Nybegynder
06. februar 2002 - 18:48 #3
hmmm, for langsom :-(
Avatar billede Slettet bruger
06. februar 2002 - 18:48 #4
Ved ikke om det er den smarteste måde, men du kunne lave en:

Set rs = Conn.Execute("SELECT TOP 1 id FROM dintabel ORDER BY id DESC")

Derved vil rs("id") være det største (og dermed nyeste id i tabellen).
Avatar billede Slettet bruger
06. februar 2002 - 18:49 #5
aaaalt for langsom, og usmart :/
Avatar billede krogstrup Nybegynder
06. februar 2002 - 18:50 #6
:-)
Avatar billede a1a1 Novice
06. februar 2002 - 19:02 #7
magik
det holder ikke den der, hvis der er to der opretter samtidig, kan der ske fejl....
Avatar billede Slettet bruger
06. februar 2002 - 19:12 #8
a1: Derfor min kommentar. Plejer ellers at tænke først  :)
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
Kurser inden for grundlæggende programmering

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