---
title: "Unique Identifier på nyinlagd post?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/55348-unique-identifier-på-nyinlagd-post"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "TainEvil"
published: "2002-10-07T15:43:58.000Z"
updated: "2002-10-08T05:30:19.000Z"
replies: 10
views: 316
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/55348-unique-identifier-på-nyinlagd-post"
---

# Unique Identifier på nyinlagd post?

## #1 — TainEvil, 2002-10-07T15:43Z

Någon som vet hur man enklast tar reda på unique identifiern på en nyupplagd post (för att direkt kunna använda den nyckeln för uppläggning av kopplade poster i en anna tabell)??

Första inserten är:

```
SQL = "INSERT INTO cardseries (Owner, FirstCard, LastCard, SubscriptionStart, SubscriptionEnd) " & _
				" VALUES ('" & Request.Form("fldCompany") & "' , '" & Request.Form("fldFirstCard") & "', " & _
				" '" & Request.Form("fldLastCard") & "' , '" & Request.Form("fldStartDate") & "', " & _
				" '" & Request.Form("fldEndDate") & "')"
```

Denna post får alltså en unique identifier som jag vill använda direkt i nästa insert (istället för XXXXXXXX):

```
SQL = "INSERT INTO Cards (CardNumber, CardSeries, Owner) VALUES ('" & Counter & "', '" & Request.Form("fldCompany") & "', '" & XXXXXXXX & "')"
```

Några tips?

Permalänk: https://www.webforum.nu/p/55348

## #2 — LarsG, 2002-10-07T15:48Z

Vilken dbms använder du?

Permalänk: https://www.webforum.nu/p/812895

## #3 — TainEvil, 2002-10-07T15:53Z

Vet inte vad DBMS är en förkortning av?? Men kanske det är Access2000 som du är ute och fiskar efter... :q

Permalänk: https://www.webforum.nu/p/812899

## #4 — LarsG, 2002-10-07T16:06Z

Jo, det svaret duger.

```
SQL = "INSERT INTO cardseries (Owner, FirstCard, LastCard, SubscriptionStart, SubscriptionEnd) " & _
				" VALUES ('" & Request.Form("fldCompany") & "' , '" & Request.Form("fldFirstCard") & "', " & _
				" '" & Request.Form("fldLastCard") & "' , '" & Request.Form("fldStartDate") & "', " & _
				" '" & Request.Form("fldEndDate") & "')"
connect.execute sql

set rs = connect.execute("select @@identity")
SQL = "INSERT INTO Cards (CardNumber, CardSeries, Owner) VALUES ('" & Counter & "', '" & Request.Form("fldCompany") & "', " & rs(0) ")"
```

Varför hade du apostrofer kring XXXXXXX? Den kolumnen skall vara numerisk.

DBMS = database management system.

Permalänk: https://www.webforum.nu/p/812908

## #5 — TainEvil, 2002-10-07T16:39Z

:( 

```
set rs = connect.execute("select @@identity")
```

Ovanstående rad returnerar en nolla...

Select @@identity är alltså en standard SQL-fråga som bör fungera i de flesta dbms (kolla vad man lär sig  ;) ) och ska returnera id för den senast inlagda posten, right?

Mitt id fält i access är uppsatt som en räknare med räknartypen replikerings-id (liknar unique identifier i MS-SQL).

Vet du att ovanstående select sats fungerar med Access?

Bifogar hela subben...

```
	Sub NewCardSeries()
		
		Set Connection = Server.CreateObject("ADODB.Connection") 
		Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(".") & "../db/helpline.mdb"

		Set Cmd = Server.CreateObject("ADODB.Command")
		Set Cmd.ActiveConnection = Connection

		SQL = "INSERT INTO cardseries (Owner, FirstCard, LastCard, SubscriptionStart, SubscriptionEnd) " & _
		" VALUES ('" & Request.Form("fldCompany") & "' , '" & Request.Form("fldFirstCard") & "', " & _
		" '" & Request.Form("fldLastCard") & "' , '" & Request.Form("fldStartDate") & "', " & _
		" '" & Request.Form("fldEndDate") & "')"
			
		Connection.Execute(SQL)

		set rs = connection.execute("select @@identity")
		
		'## Also post all the individual cards in card db
		
		cmpFirstCard = Trim(Request.Form("fldFirstCard"))
		cmpLastCard = Trim(Request.Form("fldLastCard"))
					
		For Counter = cmpFirstCard to cmpLastCard
			SQL = "INSERT INTO Cards (CardNumber, CardSeries, Owner) VALUES ('" & Counter & "', '" & Request.Form("fldCompany") & "', " & rs(0) & ")"
			Connection.Execute(SQL)
		Next
				
		'## Send the users back the entryform, giving them a chance to enter another series

		Call ShowHeader
		Call ShowCardSeries

	End Sub
```

Permalänk: https://www.webforum.nu/p/812952

## #6 — LarsG, 2002-10-07T16:41Z

select @@identity är inte sql-standard.

Den fungerar bara med numerisk räknare inte med replikeringsid. Varför har du sådant otyg för?

Permalänk: https://www.webforum.nu/p/812954

## #7 — TainEvil, 2002-10-07T16:46Z

Vet inte, tyckte det såg coolt ut med långa id... :p 

Du menar att om jag sätter en vanlig stigande räknare på id-fältet så kan jag använda @@indentity??

Finns det inget sätt att returnera ett replikerings-id då?

Permalänk: https://www.webforum.nu/p/812957

## #8 — LarsG, 2002-10-07T17:11Z

> Du menar att om jag sätter en vanlig stigande räknare på id-fältet så kan jag använda @@indentity??

ja.

> Finns det inget sätt att returnera ett replikerings-id då?

 

Kanske, men jag har inte sett något (liknande @@identity).

I sql server fungerar det så att man skapar ett replikeringsid innan man gör insert. Det verkar inte vara helt fullständigt genomtänkt i Access.

Permalänk: https://www.webforum.nu/p/812974

## #9 — TainEvil, 2002-10-07T18:27Z

Ok, jag labbar vidare... Återkommer om jag kommer på något.

Tack för hjälpen i alla fall!

Permalänk: https://www.webforum.nu/p/813076

## #10 — @nders, 2002-10-07T18:53Z

Man borde ju kunna ha både replikerings-id och en vanlig räknare? Då kan man lätt lista ut vilket replikerings-id som tillhör posten vars id har värdet i @@identity.

mvh,

Permalänk: https://www.webforum.nu/p/813115

## #11 — TainEvil, 2002-10-08T05:30Z

Förvisso, men det känns lite som kaka på kaka. Just i det här fallet så har det ingen egentlig betydelse vilken typ av räknare jag använder. Därför skrev jag om hela klabbet med vanliga räknare i alla tabeller och nu fungerar allt geschwint.

Men...man kan ju ändå inte riktigt släppa problemet med replikerings-id...

Nåja, det fungerar, så vi nöjer oss med det!

Permalänk: https://www.webforum.nu/p/813342

---

Tråden på webben: https://www.webforum.nu/amne/asp/55348-unique-identifier-på-nyinlagd-post
