webForumDet fria alternativet
Logga in / Bli medlem

INSERT i SELECT uttryck?

Databaser & SQL

11 svar · 277 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

Hur gör jag för att ta reda på vilket värde ett fält fick när det lades in med INSERT?
Om jag har en Räknare(som det heter i access) som jag inte vet vad det får för värde när jag skapar ett nytt fält.
Går det med INSERT i ett SELECT uttryck? (Vet inte vad jag fått det ifrån) måste iaf gå på något sätt tycker man..

iofs, kan man kolla den senaste posten i databasen.. finns det ett bättre sätt?

Medlem sedan juni 200032 967 inlägg
#2

Vilken dbms använder du?

Medlem sedan sep. 20005 700 inlägg
#3

dbms? ;) /me är n00b... access?

Medlem sedan dec. 200012 464 inlägg
#4

select @@identity

returner senaste räknarvärdet efter insert

Medlem sedan juni 200032 967 inlägg
#5

Det var ungefär det svaret jag ville ha, ja. :)

Efter att du ställt din INSERT-query, kan du få ut räknarvärdet som tillhör den nya posten genom att köra:

SELECT @@IDENTITY

Mvh,

Medlem sedan sep. 20005 700 inlägg
#6

Ursprungligen av LarsG **select @@identity

returner senaste räknarvärdet efter insert**

hmm, jag e newbie sa jag ju ;)
menar du att man kör en
SQL = "SELECT @@identity"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
efter INSERT, eller missförstod jag..?

Medlem sedan juni 200032 967 inlägg
#7

Du missförstod inte.

Mvh,

Medlem sedan sep. 20005 700 inlägg
#8

bra :e
följdfråga: vad heter då fältet jag ska hämta?
svar = RecSet("identity") ?

Medlem sedan dec. 200012 464 inlägg
#9

Det heter inget

recset(0)

går bra.

Medlem sedan sep. 20005 700 inlägg
#10

funkade inge vidare det där heller

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "INSERT INTO bilder_grupp (sektion, titel, katalog, datum, ovrigt) VALUES ('"&sektion&"', '"&titel&"', '"&katalog&"', #"&datum&"#, '"&ovrigt&"')"
'Response.Write SQL
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
SQL = "SELECT @@identity"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
gid = RecSet(0)
RecSet.Close
Response.Write gid

Connect.Close
Set Connect = Nothing

gid innehåller där 0, då det borde innehålla {40ABDD0A-0391-42B1-AA25-CE9ABC8142A7}

Medlem sedan dec. 200012 464 inlägg
#11

Det där är ju ingen räknare. Så vitt jag vet kan du inte få Access att skapa en guid.

select @@ identity

är bara om du har datatypen counter.

Medlem sedan sep. 20005 700 inlägg
#12

aha.. okej.. äsh då.. den heter iaf Räknare i ful-access. Finns där att välja mellan ReplikeringsID och Långt heltal. Detta är ett ReplikeringsID, men båda går under datatypen Räknare.. dumma access :e

aja, jag löser det på annat sätt

461 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
137 ms — deklarationer (db)
128 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
140 ms — ändringar (db)