I PHP & mysql så kan man skriva mysql_insert_id() för att få id nummret på den senaste inlagda posten (när man kört en insert sats strax innan).
Finns det något liknande när man kör asp mot Access?
5 svar · 306 visningar · startad av nanne
I PHP & mysql så kan man skriva mysql_insert_id() för att få id nummret på den senaste inlagda posten (när man kört en insert sats strax innan).
Finns det något liknande när man kör asp mot Access?
Okej... jag tänkte mest bara ett enkelt functionsanrop. I PHP skriver man nämligen bara
$senasteid=mysql_insert_id();
Men tack ändå
Nej, det enda sättett är att använda sig av direktuppdatering via recordset:et, dvs. du kan inte få ut värdet om du gör en vanlig INSERT.
rs.addnew
rs("Fornamn")="Gnutt"
rs.update
idnummer=rs("ID")
Ett av mycket få tillfällen där denna teknik är användbar.
Hello,
visst går det att använda sig av Max() funktionen i SQL för att kolla "senaste id".
Först får man köra:
........
strSQL = "INSERT INTO TBL_TABLE(FLD_FIELD) VALUES('Some text')"
objConn.Execute(sql)
strSQL = "SELECT MAX(FLD_ID) As LastID FROM TBL_TABLE"
Set objRS = objConn.Execute(strSQL)
intLastID = objRS("LastID")
Set objRS = nothing
Set objConn = nothing
........
Inte helt idiot säker på en site med många samtidiga besökare, men funkar gör det.
cya,
PatrikB
SELECT MAX(FLD_ID) As LastID FROM TBL_TABLE
fungerar bara bra om id-fältet är en räknare. Annars är det inte säkert att det största id-värdet är för den senast inlagda posten.