---
title: "Översätta id från recordset position till array position"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/170316-översätta-id-från-recordset-position-till-array-position"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Mattias Nordin"
published: "2008-03-29T11:32:03.000Z"
updated: "2008-03-29T12:27:12.000Z"
replies: 4
views: 471
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/databaser-sql/170316-översätta-id-från-recordset-position-till-array-position"
---

# Översätta id från recordset position till array position

## #1 — Mattias Nordin, 2008-03-29T11:32Z

Jag använder GetRows() för att lägga min sökning i en array lista enligt följande:

```
...
set rs = connect.execute(sql)	
avarGetRowsArray = rs.GetRows()
```

På position 14 hämtar jag databasens rad id enligt:

```
varValtFotoDatabasId = avarGetRowsArray(0,14)
```

Det jag nu skulle behöva åstakomma är ett räkna vilken position i ett recordset en viss rad id finns på. Jag försöker alltså översätta ett känt rad id i databasen till positionen i arrayen. Arrayen motsvarar frågan:

```
sql = "SELECT * FROM T_bild_register WHERE album_id = " &sAlbumDbId &" ORDER BY foto_taget_datum, uppladdad_datum "
```

Hmmm... undrar om det går att förstå ovan ??!!

  :stud

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

## #2 — Ledel, 2008-03-29T11:36Z

Du har alltså ett känt "rad id" från databasen, som finns på position avarGetRowsArray(i,14) och du vill komma fram till vilken rad det här ID:t finns på?
I så fall borde väl en loop vara enklast där du går igenom alla ID:n i din array tills du hittar rätt, och då sparar du positionen och hoppar ut ur arrayen.

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

## #3 — Mattias Nordin, 2008-03-29T11:40Z

Tänker mig något liknande 

SELECT \* FROM T_bild_register 
while not rs.eof
   rowCounter = rowCounter +1
   if varMyDbId = T_bild_register.id then
      arrayPositionNum = rowCounter 
   end if
rs.movenext
wend

Är detta rätt sätt att tänka eller kan man lösa det med en SQL fråga?

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

## #4 — Ledel, 2008-03-29T11:47Z

Det verkar vara det mest smidiga sätt, då man inte (tror jag;)) kan få ut positionen på ett visst värde i sitt rs med SQL.
Och om du sätter arrayPos...Num till -1 innan du börjar kan du ändra
while not rs.eof
till
while (not rs.eof) and (arrayPos...Num = -1)
Vilket gör att du slutar loopa när du hittat ID, för att slippa gå igenom rader i onödan.

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

## #5 — Mattias Nordin, 2008-03-29T12:27Z

Nice. Tack :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/170316-översätta-id-från-recordset-position-till-array-position
