---
title: "icke fungerande nyhetsarkiv"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/54784-icke-fungerande-nyhetsarkiv"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "CatZ"
published: "2002-10-01T15:57:36.000Z"
updated: "2002-10-01T17:39:22.000Z"
replies: 12
views: 271
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/54784-icke-fungerande-nyhetsarkiv"
---

# icke fungerande nyhetsarkiv

## #1 — CatZ, 2002-10-01T15:57Z

Det skriver bara ut senaste månaden och inte alla senaste som jag vill..... här kommer iaf koden 

```
		SQL = "SELECT DISTINCT NrDatum FROM Nyheter"_
		& " WHERE NOT ((datepart('m', NrDatum) = " & datepart("m", date) & ")"_
		& " AND (datepart('yyyy', NrDatum) = " & datepart("yyyy", date) &"))" _
		& " ORDER BY NrDatum DESC"
		set rs = dbCom.Execute(SQL)	

		Dim Ar, Manad
		Ar = datepart("yyyy", rs("NrDatum"))
		Manad = datepart("m", rs("NrDatum"))
	
		xTmp ="" 
		Do while not rs.EOF 
		If xTmp <> Manad Then 
			response.write "<table width=100% border=0 cellpadding=3 cellspacing=0 class=table>" _
			& "<tr class=td2><td>" _
			& "<a href=nyheter.asp?ar=" & Ar & "&manad=" & Manad & ">" _
			& getMonthLong(datepart("m", rs("NrDatum"))) & ", "_
			& datepart("yyyy", rs("NrDatum")) & "</a>" _
			& "</td></tr>"
			xTmp = Manad 
		End If 
		rs.MoveNext 
		Loop
```

Någon som fattar vad som är fel?

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

## #2 — voigtann1, 2002-10-01T16:05Z

redigerad:
Glöm det jag sa :e

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

## #3 — LarsG, 2002-10-01T16:10Z

```
Ar = datepart("yyyy", rs("NrDatum"))
Manad = datepart("m", rs("NrDatum"))
```

lägg dessa innaför loopen.

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

## #4 — CatZ, 2002-10-01T16:26Z

Tack LarsG, nu har jag ändrat om lite men nu skriver den ut Augusti månad två gånger...? Såhär ser koden ut nu:

```
		SQL = "SELECT DISTINCT NrDatum FROM Nyheter"_
		& " WHERE NOT ((datepart('m', NrDatum) = " & datepart("m", date) & ")"_
		& " AND (datepart('yyyy', NrDatum) = " & datepart("yyyy", date) &"))" _
		& " ORDER BY NrDatum DESC"
		set rs = dbCom.Execute(SQL)

		Do while not rs.EOF 
			xTmp =""
			Ar = datepart("yyyy", rs("NrDatum"))
			Manad = datepart("m", rs("NrDatum"))
		If xTmp <> Manad Then 
			Response.Write "<a href=nyheter.asp?ar=" & Ar & "&manad=" & Manad & ">" _
			& getMonthLong(datepart("m", rs("NrDatum"))) & ", "_
			& datepart("yyyy", rs("NrDatum")) & "</a><br>"
			xTmp = Manad 
		End If 
		
		rs.MoveNext 
		Loop
```

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

## #5 — LarsG, 2002-10-01T16:33Z

```
[b]xTmp =""[/b]

Do while not rs.EOF 
			
			Ar = datepart("yyyy", rs("NrDatum"))
			Manad = datepart("m", rs("NrDatum"))
		If xTmp <> Manad Then 
			Response.Write "<a href=nyheter.asp?ar=" & Ar & "&manad=" & Manad & ">" _
			& getMonthLong(datepart("m", rs("NrDatum"))) & ", "_
			& datepart("yyyy", rs("NrDatum")) & "</a><br>"
			xTmp = Manad 
		End If 
		
		rs.MoveNext 
		Loop
```

Kan du inte göra

```
select distinct datepart('m',nrdatum),datepart('y',nrdatum)
```

så slipper du den där hanteringen?

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

## #6 — CatZ, 2002-10-01T16:44Z

Det kan jag säkert, men hur gör jag då?

När jag försöker mig på ditt exempel så kan jag inte komma åt några rs("fält") poster...

/red, skrev fel inlägg i förra posten, jag får samma problem med xTmp utanför loopen.

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

## #7 — LarsG, 2002-10-01T16:49Z

```
select distinct datepart('m',nrdatum)as m,datepart('y',nrdatum) as y
```

så kan du använda rs("m") och rs("y"). Det går också med rs(0) och rs(1)

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

## #8 — CatZ, 2002-10-01T16:55Z

aha när jag väljer select distinct måste jag skriva alla värden, så då kan jag göra 

```
select distinct datepart('m',nrdatum)as m,datepart('y',nrdatum) as y, NrDatum
```

 Om jag behöver använda hela datumet oxo ?

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

## #9 — LarsG, 2002-10-01T17:03Z

```
select distinct datepart('m',nrdatum)as m,datepart('y',nrdatum) as y, NrDatum
```

om du gör så så har du ingen nytta av distinct (eftersom den gäller för alla kolumner) så att det hjälper inte.

Jag föreslog att du skulle kunna använda distinct just på grund av att du bara använder år och månad i din ASP-kod.

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

## #10 — CatZ, 2002-10-01T17:14Z

Jadå det kan jag också, var mest nyfiken på om det gick att göra så som jag frågade. Mitt problem är nu då att jag inte får ORDER BY delen att fungera. Skulle villja göra ORDER BY y DESC, m DESC men får då 

> Feltyp:
> Microsoft JET Database Engine (0x80004005)
> ORDER BY-instruktionen (y) stämmer inte med DISTINCT.

på

```
& " ORDER BY y DESC, m DESC"
```

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

## #11 — LarsG, 2002-10-01T17:21Z

Det där är lite speciellt i Jet SQL. 

Du får skriva

```
order by 2 desc, 1 desc
```

2:an står för andra kolumnen i select-listan dvs året.

I stort sett alla andra DBMS tillåter att man skriver som du gjorde.

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

## #12 — CatZ, 2002-10-01T17:33Z

\*suck\* Någon gång i framtiden ska jag byta till SQL istället... har inte riktigt råd dock.

Tack för hjälpen LarsG nu fungerar det utmärkt!

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

## #13 — @nders, 2002-10-01T17:39Z

> \*suck\* Någon gång i framtiden ska jag byta till SQL istället... har inte riktigt råd dock.

Du menar Microsoft SQL Server?

Det finns flera schyssta dbms som är "gratis", exempelvis MySQL. Kanske något att snegla på om tillfälle ges. :)

Mvh,

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/54784-icke-fungerande-nyhetsarkiv
