Avatar billede runberg Nybegynder
09. december 2005 - 12:02 Der er 6 kommentarer og
1 løsning

Sidste record i rs

Hey

Hvordan finder man nemmest sidste record i et recordset??

Jeg har en database, hvor jeg ligger ud med at tilføje en record. Denne record får så automatisk et ID-nummer. Dette ID nummer skal jeg efterfølgende bruge til opdatering af en anden tabel.
Min vurdering er at den letteste løsning er efter at have tilføjet den nye record, at finde den sidste record i tabellen, og derefter trække ID'et. Derfor dette spørgsmål. Er der nogen der har andre forslag til en løsning er disse naturligvis velkomne.
Avatar billede keysersoze Ekspert
09. december 2005 - 12:14 #1
ved brug af @@IDENTITY undgår du fejl som du ellers kan risikerer hvis 2 poster samtidig;

http://activedeveloper.dk/artikler/default.asp?articleid=291
Avatar billede no_doubt Nybegynder
09. december 2005 - 12:17 #2
kigger du forbi mit spm. keyser... sorry for spam.
Avatar billede runberg Nybegynder
09. december 2005 - 12:19 #3
PERFECT - Det er jo en endnu bedre løsning.

Thanx
Avatar billede runberg Nybegynder
12. december 2005 - 12:00 #4
Nu har jeg godt nok accepteret svaret, men faktisk kan jeg ikke få det til at virke, så håber du vil kigge på det igen. Mit SQL statement ser ud som følger:

SET NOCOUNT ON;
INSERT INTO Sessions (MedarbejderID, SessionNr, Dato, Log) VALUES ('1', '4', '12/12/2005', 'Testlog');
SELECT @@IDENTITY;
INSERT INTO Registreringer (SessionID, KompetanceID, Value) VALUES (@@IDENTITY, 'ID_2', '4');

Når jeg prøver at køre dette i Access får jeg følgende fejl:
Invalid SQL statement; Expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
Avatar billede runberg Nybegynder
12. december 2005 - 12:06 #5
(Skal måske lige nævnes at jeg benytter en MS access database, og måske det er her fejlen ligger????)
Avatar billede keysersoze Ekspert
12. december 2005 - 12:22 #6
eks;

SQLins = "INSERT INTO table (navn) VALUES ('palle')
Conn.Execute(SQLins)

SQLid = "SELECT @@IDENTITY As yourid FROM table"
Set rsid = Conn.Execute(SQLid)
ditid = rsid("yourid")
Avatar billede runberg Nybegynder
12. december 2005 - 13:17 #7
Tak det ser ud til at virke, selvom det dog resulterer i en del flere database-kald. - Men tak for hjælpen!
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