---
title: "Loopa ut recordset"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/180444-loopa-ut-recordset"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2009-09-27T13:37:50.000Z"
updated: "2009-09-27T22:28:27.000Z"
replies: 3
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/180444-loopa-ut-recordset"
---

# Loopa ut recordset

## #1 — devotion, 2009-09-27T13:37Z

Hej,

Jag sliter mitt hår...

Jag har följande SQL-sats:

```
select TaskId, TaskNr,UserNameO1, UserSignO1, UserSignO2, UserNameO2 from a_qryObjectUser order by TaskId
```

 som ger ett recordset enligt

```
16437	WWW000246			                     TG	Tomas Gustafsson
16437	WWW000246	Stefan Björkqvist	SB		
16438	WWW000247			                     TG	Tomas Gustafsson
16438	WWW000247	Stefan Björkqvist	SB		
16439	WWW000248	Stefan Björkqvist	SB
```

Sen försöker jag loopa ut det enligt:

```
If not Rs.EOF then
		while not Rs.EOF
			If not Rs("UserSignO2") = "" and lLastTaskId <> Rs("TaskId") then
				sUserSign = Rs("UserSignO2")
				sUserName = Rs("UserNameO2")
			else
				sUserSign = Rs("UserSignO1")
				sUserName = Rs("UserNameO1")
			End if

			'Uppdatera signaturen på uppdragen
			sSQL_Update=sSQL_Update & "UPDATE [tblTask] SET [Modified] = GetDate(), [OwnerSign]= '" & sUserSign & "', [UserSign]= '" & sUserSign & "' WHERE [Id] = " & lTaskId & ""  & VbCrLf
			
			'Skapa en sträng med alla TaskId
			sTaskIds=lTaskId & ";" & sTaskIds
			
			'Loggtext
			sLogText="Bytt utförare på uppdraget till " & sUserName
			
			'Skapa en loggpost på uppdraget
			Call Application.AddLog(2, lTaskId, sLogText, sLogUser)
			
			lTaskId = Rs("TaskId")
			Rs.MoveNext
		Wend
end if
```

Jag får inte till logiken

Jag vill bara få ut 3 poster i ovanstående loop

1\. sUserName = Thomas Gustafsson
2\. sUserName = Thomas Gustafsson
3\. sUserName = Stefan Björkqvist

Jag har försökt använda mig av TaskId för att jämföra om det är samma som föregående post, men får inte till det...

> Post 1 skall vara med, för att UserSignO2 inte är tom
> Post 2 skall INTE vara med eftersom TaskId är samma som föregående post och UserSign är tom
> Post 3 skall vara med eftersom UserSign inte är tom och TaskId INTE är sama som föregående post
> post 4 skall INTE vara med eftersom TaskId är samma som föregående post och UserSign är tom
> Post 5 skall vara med eftersom UserSignO2 är tom och TaskId inte är samma som föregående post

Bifogar även sql-resultatet som bild

Please help me....

Mvh
Henrik

Bilagor:

- [sql_result.png](https://www.webforum.nu/a/20849.png)

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

## #2 — nitro2k01, 2009-09-27T14:34Z

Din förklaring är lite vag. Du beskriver fyra poster medan ditt resultset har fem poster, och beskrvningen av post 4 stämmer inte överens med post 4.
Hursomhaver låter det här som något du bör kunna fixa enbart med SQL. Om jag förstår saken rätt: Du vill plocka ut användarna för ett visst uppdrag och du föredrar användare O2 om denne är satt, annars O1. Korrekt?

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

## #3 — devotion, 2009-09-27T16:04Z

> **[nitro2k01 skrev:](https://www.webforum.nu/p/1482084)**
>
> Din förklaring är lite vag. Du beskriver fyra poster medan ditt resultset har fem poster, och beskrvningen av post 4 stämmer inte överens med post 4.
> Hursomhaver låter det här som något du bör kunna fixa enbart med SQL. Om jag förstår saken rätt: Du vill plocka ut användarna för ett visst uppdrag och du föredrar användare O2 om denne är satt, annars O1. Korrekt?

Hmmm.... Blev lite fel där...

Så här skall det vara:

> Post 1 skall vara med, för att UserSignO2 inte är tom
> Post 2 skall INTE vara med eftersom TaskId är samma som föregående post och UserSign är tom
> Post 3 skall vara med eftersom UserSign inte är tom och TaskId INTE är sama som föregående post
> post 4 skall INTE vara med eftersom TaskId är samma som föregående post och UserSign är tom
> Post 5 skall vara med eftersom UserSignO2 är tom och TaskId inte är samma som föregående post

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

## #4 — devotion, 2009-09-27T22:28Z

Hej igen,

Jag löste allt med SQL, efter lite trixande!

Du fick mig att tänka en runda till, så allt löste sig!

Mvh
Henrik

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/180444-loopa-ut-recordset
