---
title: "Vad är det som gäller?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/78836-vad-är-det-som-gäller"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "MickeA.com"
published: "2003-06-03T20:46:38.000Z"
updated: "2003-06-04T12:24:59.000Z"
replies: 19
views: 411
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/78836-vad-är-det-som-gäller"
---

# Vad är det som gäller?

## #1 — MickeA.com, 2003-06-03T20:46Z

Hej

```
SELECT TOP 1 kolumn, kolumn  FROM tabell ORDER BY kolumn DESC;
```

Eller...

```
SELECT kolumn, kolumn TOP 1 FROM tabell ORDER BY kolumn DESC;
```

För kör jag det första (som jag trodde var rätt) får jag syntaxfel som svar, kör jag det andra funakr sidan, men den verkar inte plocka ut rätt grejjer...

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

## #2 — cyprys, 2003-06-03T20:51Z

Det första är rätt.
Vad menar du med "inte rätt grejer"?

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

## #3 — MickeA.com, 2003-06-03T20:53Z

Kolla längst ner i [min andra tråd](http://www.webforum.nu/showthread.php?s=&postid=649931#post649931)

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

## #4 — solbulle, 2003-06-03T20:54Z

Du fick ju svar på det i din andra tråd!?!
<http://www.webforum.nu/showthread.php?s=&postid=649961#post649961>
Annars har vi ju tex:
<http://www.webforum.nu/showthread.php?s=&postid=609283#post609283>
Eller:
<http://www.webforum.nu/search.php?s=&action=showresults&searchid=268167&sortby=lastpost&sortorder=descending>

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

## #5 — MickeA.com, 2003-06-03T20:58Z

Jaja, men det funakr ju inte som jag vill... Blir helt pissed off på det här...

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

## #6 — cyprys, 2003-06-03T21:13Z

Ok., Du vill alltså när du tar bort ett svar så skall den ta bort värdet i kolumnen senaste_svar_namn och senaste_svar_datum, för att sedan uppdatera detta med rätt värde.
Antingen samma värde som tidigare eller ett nytt, om du nu råkade ta bort det senaste svaret.

Så söker du helt enkelt upp det senaste svaret för tråden med detta ID.

```
set rs1 = "SELECT TOP 1 Skribent, Datum FROM tbl_forum_sv WHERE answer_id = "& ditt_trådid
if rs1.eof then
   ' Finns inget svar. Hantera detta genom att sätta trådskaparen som senaste_svar_namn och dess datum
else
   conn.execute("UPDATE tbl_forum_subj SET senaste_svar_namn = '"& rs1("Skribent") &"', senaste_svar_datum = '"& rs1("datum")&"' ")
end if
```

Sen till nästa problem när du skall skriva ut altt så är det lättare att göra allt med en enda fråga.

```
Set oRec = Server.CreateObject("ADODB.Recordset")
strSQL= "SELECT titel, skribent, datum, senaste_svar_namn, senaste_svar_datum FROM tbl_forum_subj ORDER BY datum"
oRec.Open strSQL, oConn, 1, 3

do until oRec.Eof
   response.write oRec("Titel") & oRec("Skribent") & oRec("senaste_svar_skribent") & oRec("senaste_svar_datum") & "<br />"
oRec.MoveNext
Loop
```

När du börjar blanda in flera frågor så behövs detta bara när du måste hämta ut ytterligare information från andra tabeller. 
Eftersom ditt första problem verkade gälla uppdateringen i subject-tabellen med senaste_svar-informationen så utgår jag från att du inte behöver hämta den informationen från svarstabellen.

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

## #7 — MickeA.com, 2003-06-03T21:27Z

Nä, men... JAg hänger inte med...

<http://MickeA.dynDNS.org/Ec> \=\> Ec-Programmet =\> Öppet Forum

Sen ser du nog själv, till höger "Senaste Inlägg".

Prova skriv ett NYTT SVAR på ngn tråd, sen uppdaterar du sidan du kom till först, kolla och se att alla får samma...

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

## #8 — solbulle, 2003-06-03T21:48Z

cyprys: han hämtar från två rabeller i dagsläget så han lär behöva en join.
Däremot borde väl iofs lösningen vara att skippa de kolumnerna och hämta på så sätt som i den andra tråden.

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

## #9 — MickeA.com, 2003-06-03T22:30Z

Men kan vi enas om då att skippa den adnra tråden så tar vi allt här istä'llet, för jag har fortf. inte kommit fdram till ngn lösning, så allt som kan få ordning på detta är välkommet.

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

## #10 — cyprys, 2003-06-04T05:16Z

Skriv upp din tabellstruktur och exakt vilken data du vill få ut bara så flyttas nog denna till SQL-forumet ;)

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

## #11 — OveRRidE, 2003-06-04T07:04Z

MickeA.com &raquo; Håll dig helst till en tråd, om ämnet tillåter det. Bifrågor kan ställas i samma tråd, om de ligger inom samma område. 

Jag slår dock inte ihop dina två senaste trådar, då tidpunkterna för inläggen skulle förvirra konsistensen i diskussionen. 

Kör på i den här tråden, den andra blev ju uppklarad. 

MVH

OveRRidE
moderator, webForum

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

## #12 — MickeA.com, 2003-06-04T08:07Z

Okidoki, sorry...

```
[b]tbl_forum_subj[/b] (Tabellen för Ämnen)
ID - Räknare
Datum - Datum
Skribent - Text
Amne - Text
Inlagg - PM
Antal_Svar - Tal
Forum_ID - Text
Ipadress - Text
Senaste_Svar - Datum
Senaste_Svar_Namn -- Text
 
[b]tbl_forum_sv[/b] (Svaren)
ID - Räknare
Datum - Datum
Skribent  - Text
Svar_ID - Tal
Inlagg - PM
Forum_ID - Text
Ipadress - Text
```

Det här är min tabellstruktur.

Ni som inte förstått, det jag vill är att skippa "Senaste_Svar" och "Senaste_Svar_Namn" i den FÖRSTa tabellen (tbl_forum_subj) för att istället plocka ut dessa data i min loop mha SQLfrågor och inget mer.

Så behöver alltså ngt som varje gång sidan laddas plockar ut SENASTE DATUM och SKRIBENT FÖR VARJE ENSKILD TRÅD.

Som jag sagt tidigare, kolla <http://MickeA.dynDNS.org/Ec> \=\>Ec-Programmet =\> Öppet Forum så fattar ni njog vad jag menar, gör ni inte det, SKRIV ETT SVAR på en tråd, gå tillbaka till sidan där alla trådar listas upp och kolla där på "Senaste Inlägg", så hajjar ni garanterat.

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

## #13 — cyprys, 2003-06-04T08:21Z

```
Set Rs = connection.execute("SELECT t1.Amne, t1.ID, t1.skribent as skapare, t2.Skribent as svarare, t2.Datum as svarsdatum FROM tbl_forum_subj as t1 LEFT join tbl_forum_sv as t2 ON t1.ID = t2.Svar_ID ORDER BY t1.Datum DESC, t2.Datum DESC")
do until rs.eof
    response.write Rs("Amne") & " " & RS("ID") & " " & Rs("Skapare") & " " & Rs("Svarare") & " " & Rs("Svarsdatum") & "<br />"
rs.MoveNext
Loop
```

Var dock beredd på att hantera rs("svarare & svarsdatum") som nullvärden ifall inget svar finns på tråden.

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

## #14 — MickeA.com, 2003-06-04T08:29Z

Okidoki, det här ser bra ut, men nu börjar det bli lite överkurs för mig, kan jag ersätta HELA din SQL mot den jag har:

```
Dim oConn
Dim oRec
Dim strSQL

'_____________________________________________________________

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/forum_db.mdb"))

'_____________________________________________________________

nextPage = TRIM( Request.Querystring( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1

'_____________________________________________________________

Set oRec = Server.CreateObject("ADODB.Recordset")
strSQL= "SELECT * FROM tbl_forum_subj WHERE Forum_ID = 'oppet' ORDER BY Datum DESC;"
oRec.Open strSQL, oConn, 1, 3

Set oRec2 = Server.CreateObject("ADODB.Recordset")
strSQL2 = "SELECT TOP 1 Datum, Skribent FROM tbl_forum_sv WHERE Forum_ID = 'oppet' ORDER BY Datum DESC;"
Set oRec2 = oConn.Execute(strSQL2)

%>
<table width='100%' border='0' height='10'>
<tr><td height='10' width='50%' align='left' bgcolor='#FCFDCD'><b><u>Tråd</u></b></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Startad Av</u></b></td><td width='10%' align='center' bgcolor='#FCFDCD'><b><u>Svar</b></u></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Senaste Inlägg</u></b></td></tr>
<%
oRec.PageSize = 15 '<-- Här bestämmer du hur många inlägg det ska finnas på sidan
oRec.AbsolutePage = nextPage

Do until oRec.EOF OR rowCount = oRec.PageSize
rowCount = rowCount + 1

Response.Write("<tr><td height='10' width='50%' align='left'><font face='verdana' color='#000000' size='2'><a href='ladda_trad.asp?id=" & oRec("ID") & "'>" & oRec("Amne") & "</a></td><td width='20%' align='center' bgcolor='#FCFDCD'>" & oRec("Skribent") & "</td><td width='10%' align='center'>" & oRec("Antal_Svar") & "</td><td width='20%' align='right' bgcolor='#FCFDCD'></font><font face='verdana' color='#000000' size='1'>" & oRec2("Datum") & "<br>Av: " & oRec2("Skribent") & "</font></td></tr><tr><td colspan='4' width='100%' height='5'></td></tr>")
	
	oRec.MoveNext
Loop
```

Så här ser loopen jag har ut, men kan ngn vara snäll och sätta ihop den nya SQlä'en jag fick så den finns här inne ngnstans i loopen?!

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

## #15 — cyprys, 2003-06-04T08:49Z

Skit i min tidigare kod. Den funkar inte. Den här funkar i alla fall fast det kan nog optimeras.

```

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/forum_db.mdb"))

 '___________________________________________________________
__

nextPage = TRIM( Request.Querystring( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1

 '___________________________________________________________
__

SQL = "SELECT ID, Skribent, Amne," & _
"(SELECT TOP 1 Skribent FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID ORDER BY Datum DESC) as Senaste_Skribent," & _
"(SELECT TOP 1 Datum FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID ORDER BY Datum DESC) as Senaste_Datum" & _
"(SELECT count(ID) as antal FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID) as Antal_svar" & _
"FROM tbl_forum_subj as t1" & _
"ORDER BY t1.ID DESC;"
Set oRec = oConn.execute(SQL)

%>
<table width='100%' border='0' height='10'>
<tr><td height='10' width='50%' align='left' bgcolor='#FCFDCD'><b><u>Tråd</u></b></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Startad Av</u></b></td><td width='10%' align='center' bgcolor='#FCFDCD'><b><u>Svar</b></u></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Senaste Inlägg</u></b></td></tr>
<%
oRec.PageSize = 15 '<-- Här bestämmer du hur många inlägg det ska finnas på sidan
oRec.AbsolutePage = nextPage

Do until oRec.EOF OR rowCount = oRec.PageSize
rowCount = rowCount + 1

Response.Write("<tr><td height='10' width='50%' align='left'><font face='verdana' color='#000000' size='2'><a href='ladda_trad.asp?id=" & oRec("ID") & "'>" & oRec("Amne") & "</a></td><td width='20%' align='center' bgcolor='#FCFDCD'>" & oRec("Skribent") & "</td><td width='10%' align='center'>" & oRec("Antal_Svar") & "</td><td width='20%' align='right' bgcolor='#FCFDCD'></font><font face='verdana' color='#000000' size='1'>" & oRec2("Senaste_Datum") & "<br>Av: " & oRec2("Senaste_Skribent") & "</font></td></tr><tr><td colspan='4' width='100%' height='5'></td></tr>")
	
	oRec.MoveNext
Loop
```

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

## #16 — MickeA.com, 2003-06-04T09:33Z

```
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.
/ec/script/forum/fritt/ladda_amne.asp, line 42

Webbläsare:
```

Min Kod som jag klistade in härifrån:

```
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/forum_db.mdb"))

'___________________________________________________________

nextPage = TRIM( Request.Querystring( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1

'___________________________________________________________

SQL = "SELECT ID, Skribent, Amne," & _
"(SELECT TOP 1 Skribent FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID ORDER BY Datum DESC) as Senaste_Skribent," & _
"(SELECT TOP 1 Datum FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID ORDER BY Datum DESC) as Senaste_Datum" & _
"(SELECT count(ID) as antal FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID) as Antal_svar" & _
"FROM tbl_forum_subj as t1" & _
"ORDER BY t1.ID DESC;"
Set oRec = oConn.execute(SQL)

%>
<table width='100%' border='0' height='10'>
<tr><td height='10' width='50%' align='left' bgcolor='#FCFDCD'><b><u>Tråd</u></b></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Startad Av</u></b></td><td width='10%' align='center' bgcolor='#FCFDCD'><b><u>Svar</b></u></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Senaste Inlägg</u></b></td></tr>
<%
oRec.PageSize = 15 '<-- Här bestämmer du hur många inlägg det ska finnas på sidan
oRec.AbsolutePage = nextPage

Do until oRec.EOF OR rowCount = oRec.PageSize
rowCount = rowCount + 1

Response.Write("<tr><td height='10' width='50%' align='left'><font face='verdana' color='#000000' size='2'><a href='ladda_trad.asp?id=" & oRec("ID") & "'>" & oRec("Amne") & "</a></td><td width='20%' align='center' bgcolor='#FCFDCD'>" & oRec("Skribent") & "</td><td width='10%' align='center'>" & oRec("Antal_Svar") & "</td><td width='20%' align='right' bgcolor='#FCFDCD'></font><font face='verdana' color='#000000' size='1'>" & oRec2("Senaste_Datum") & "<br>Av: " & oRec2("Senaste_Skribent") & "</font></td></tr><tr><td colspan='4' width='100%' height='5'></td></tr>")
	
	oRec.MoveNext
Loop
```

Vad betyder felmesset och vad ligger felet?

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

## #17 — MickeA.com, 2003-06-04T09:36Z

Nu jag i SQl'en att du har ngt som heter "t1" ska jag byta ut det mot den första tabellens namn?! (tbl_forum_subj)

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

## #18 — cyprys, 2003-06-04T10:14Z

Kolla mellanrummen jag missade :) 

```
' Rätt
SQL = "SELECT ID, Skribent, Amne, " & _
"(SELECT TOP 1 Skribent FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID ORDER BY Datum DESC) as Senaste_Skribent, " & _
"(SELECT TOP 1 Datum FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID ORDER BY Datum DESC) as Senaste_Datum " & _
"(SELECT count(ID) as antal FROM tbl_forum_sv WHERE tbl_forum_sv.Svar_ID =  t1.ID) as Antal_svar " & _
"FROM tbl_forum_subj as t1 " & _
"ORDER BY t1.ID DESC;"
Set oRec = oConn.execute(SQL)
```

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

## #19 — MickeA.com, 2003-06-04T12:15Z

Verkar fortf. vara ngt fel, får samma felmess iaf, raden där felet ligger är där SQLsasten exekveras, så det är fortf. ngt fel i den :(

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

## #20 — MickeA.com, 2003-06-04T12:24Z

Yes ; )) JAg kollade igenom och såg att du glömt ett kommatecken, satte dit det, bytte till en annan typ av RecSet,och nui funakr det ;))

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/78836-vad-är-det-som-gäller
