---
title: "Distinkt, Array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/55071-distinkt-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Poffe"
published: "2002-10-03T22:30:28.000Z"
updated: "2002-10-03T23:23:36.000Z"
replies: 7
views: 221
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/55071-distinkt-array"
---

# Distinkt, Array

## #1 — Poffe, 2002-10-03T22:30Z

Hejsan

Undrar om det är nån som vet hur man fixar en funktion som utför en "distinkt på en array".

Jag har alltså en array men flera poster men vissa är likadana så de vill jag sortera bort.

Målet är att få fram hur många olika poster det finns i arrayn, en siffra alltså.

Nån som har nått tips?

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

## #2 — Palleman, 2002-10-03T22:48Z

Är det poster från en databas du sparar i din array?
\- I sådana fall kan du använda GetRows och köra en DISTINCT i sql-satsen och på så sätt plocka distinkta poster.

ex.

```
<%

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("dbName.mdb")
	arrRecSet = Connect.Execute("SELECT DISTINCT fldName FROM tblName").GetRows
	Connect.Close : Set Connect = Nothing
	
	Response.Write "Just nu finns det "& UBound(arrRecSet,2) &" unika poster.."
	
%>
```

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

## #3 — Poffe, 2002-10-03T22:51Z

nej det är det som är kruxet, arrayn skapas utifrån en textfil, hade det vart från en databas är det ju inga problem :)

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

## #4 — Palleman, 2002-10-03T22:56Z

Aha, ok.. :)
Hur ser värden i arrayen ut?

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

## #5 — Poffe, 2002-10-03T22:59Z

hmmm.. ja du, är inte så inne på arrays riktigt än men den är två dimentionell och jag skapar den så här:

```
Set oTextFil = oFSO.OpenTextFile(sDbFil)
	Do While Not oTextFil.AtEndOfStream
		x = x + 1
		sPost = Split(oTextFil.ReadLine, "|")
		For i = 0 To Ubound(sPost)
			DbArray(i,x) = sPost(i)
		Next
	Loop
oTextFil.Close : Set oTextFil = Nothing
```

varje rad i textfilen har olika poster separerade med \| så första dimentionen är alltså värdet och andra är raden.

det jag vill få fram hur många olika som finns är ifrån:

DbArray(1,x)

alltså andra (det börjar på 0 få 1 blir ju andra) värdet från varje rad

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

## #6 — Palleman, 2002-10-03T23:13Z

Hmm.. ok. Tyvärr övergår det min kunskap. ;)
Gjorde dock en sökning på Google och fann detta, kanske kan vara nått att titta på iaf. :)

<http://www.aspfree.com/authors/robert/Default.asp?aid=66>

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

## #7 — Poffe, 2002-10-03T23:15Z

tack, ska kolla på det och se om jag kan lösa det på nått vis :)

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

## #8 — Poffe, 2002-10-03T23:23Z

jo det blev som jag tänkt från början:

```
Function Unika()
	sTemp = ""
	For x = 1 To Ubound(DbArray,2)
		If InStr(sTemp, DbArray(1,x) & ",") <= 0 Then sTemp = sTemp & DbArray(1,x) & "," : iTemp = iTemp + 1
	Next 
	Unika = iTemp
End Function
```

men är detta verkligen den bästa metoden?

Red/

har testat lite nu och det verkar vara den bästa av de som fanns där iallafall, skilljer endast några millesekunder men ändå ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/55071-distinkt-array
