---
title: "Hur ska koden se ut???"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13017-hur-ska-koden-se-ut"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ampy"
published: "2001-11-30T21:06:00.000Z"
updated: "2001-12-05T15:04:00.000Z"
replies: 21
views: 319
page: 1
pages: 2
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/13017-hur-ska-koden-se-ut"
---

# Hur ska koden se ut???

_Sida 1 av 2._

## #1 — ampy, 2001-11-30T21:06Z

Hur hämtar man max ID ur en tabell och lägger sedan till det i en annan tabell, hur ska koden se ut. 

Den första tabellen heter gastbok och där id ska läggas till heter installningar.

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

## #2 — LarsG, 2001-11-30T21:15Z

```
sql = "insert into installningar (kolumn) select max(id) from gastbok"
connect.execute sql,,128
```

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

## #3 — jorgen, 2001-11-30T21:17Z

Hej, om id är en räknare och du menar högsta värdet borde detta funka:

```
sql ="SELECT max(id) FROM t ORDER BY id DESC"
set rs = conn.execute(sql)

dim lngId
lngId = rs(0)
```

Sedan gör du bara en insert av variabel lngId i den tabellen du vill ha det i.

mvh Jörgen :)

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

## #4 — ampy, 2001-12-02T14:11Z

Jorgen, hur ska den koden se ut?
Hoppas att du kan hjälpa mig.

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

## #5 — LarsG, 2001-12-02T14:34Z

Varför kan du inte använda den kod jag skrev? Det är mindre kod, färre databasanrop och därmed mer än dubbelt så snabbt som jorgens alternativ.

Om du envisas så

```
sql = "insert into installningar(kolumn) values (" & lngId & ")"
connect.execute sql,,128
```

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

## #6 — ampy, 2001-12-02T14:40Z

Jag tog din kod Lars G (högst upp), men när jag skriver det får jag detta felmeddelande:

```
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Du försöker tilldela Null-värdet till en variabel som inte är av datatypen Variant.
```

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

## #7 — LarsG, 2001-12-02T14:49Z

Då kommer du nog att få samma fel med det andra alternativet.

Det låter som om att du har kolumner i tabellen installningar som inte tillåter null. Dvs, du måste ge dessa ett värde när du gör insert.

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

## #8 — ampy, 2001-12-02T14:53Z

Jag fixade det och det blir inget felmeddelande. Men när jag sedan öppnar databasen och kollar i tabellen installningar så har det fylls i en post men i kolumnen id är det tomt. Varför??

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

## #9 — LarsG, 2001-12-02T14:58Z

Finns det någon post i tabellen gastbok?

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

## #10 — ampy, 2001-12-02T14:59Z

Ja, där det fylls allt i som det ska.

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

## #11 — ampy, 2001-12-02T15:01Z

Jag kom på en sak, jag hade angivit fel tabell, det ska vara users istället för gastbook, gastbook hade inga poster så det var därför. Allt funkar som det ska nu. Tack så mycket LarsG

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

## #12 — jorgen, 2001-12-02T16:01Z

Hej!

Använd LarsG:s kod, som sagt så är den snabbare och bättre. Jag är så van att inte kunna använda subquerys i mysql. Hade jag kört access hade jag kört LarsG:s alternativ. Hoppas det fungerar nu :)

mvh Jörgen

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

## #13 — LarsG, 2001-12-02T16:17Z

Den koden fungerar också i mysql.

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

## #14 — jorgen, 2001-12-02T16:49Z

Ahh, tack LarsG, då kan jag optimera en hel del :)

Räknas inte det till subquerys, för denna påhittade tex fungerar ju inte:

```
SQL = "SELECT * FROM table WHERE Id = 1 (SELECT namn FROM table WHERE namn = 'jorgen')"
```

Är det bara mellan 2 SELECT det inte fungerar, eller hur är det?

mvh Jörgen :)

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

## #15 — LarsG, 2001-12-02T22:40Z

Tydligen inte enligt Mysql's definition.

Det Mysql inte har stöd för är att man använder en select i ett where villkor, oavsett om det är select/update/delete

Om jag modifierar din fråga lite så är det ett exempel på en fråga som inte stöds av mysql.

```
SQL = "SELECT * FROM table WHERE namn = (SELECT namn FROM table WHERE namn = 'jorgen')"
```

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

## #16 — PatrikB, 2001-12-02T22:48Z

fel av mig ... alldeles för trött ... go'natt ....

PatrikB

\[Redigerat av PatrikB den 02 dec 2001\]

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

## #17 — jorgen, 2001-12-02T22:49Z

Tack, LarsG, där ser man :r

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

## #18 — jorgen, 2001-12-05T13:32Z

Kan man göra lika dant med en update?

Jag provade, typ så här:

```
sql = "update Inlagg set AntalSvar  =  "& intAntalSvar &" select count " & _
" (Thread_MessId) as intAntalSvar from Inlagg where Thread_MessId = " & _
" " & Request.Querystring("OrgId")

objDB.execute sql,,128
```

men lyckades inget vidare, provade separera frågorna med ; också.

Går det göra detta i en fråga i mysql och i så fall hur ser den ut?

mvh Jörgen

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

## #19 — LarsG, 2001-12-05T14:13Z

```
sql = "update Inlagg set AntalSvar = ( select count (Thread_MessId) from Inlagg where Thread_MessId = " & _
 Request.Querystring("OrgId") & ")"
```

borde det se ut som, men den frågan fungerar inte i Mysql. Jag vet inte heller något sätt att skriva om det så att det går att utföra med en fråga.

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

## #20 — jorgen, 2001-12-05T14:23Z

Okey, blir två frågor som jag misstänkte :)

mvh Jörgen :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13017-hur-ska-koden-se-ut  
Nästa sida: https://www.webforum.nu/amne/asp/13017-hur-ska-koden-se-ut/page2.md
