webForumDet fria alternativet

Sista posten i en loop?

14 svar · 324 visningar · startad av bigsky

bigskyMedlem sedan maj 2002821 inlägg
#1

I en loop skriver jag ut e-postadresser med ett "," mellan varje adress. De ska sedan ingå i "To" funktionen i CDONTS. Hur gör jag för att INTE skriva ut ett "," efter den sista posten i loopen, men mellan alla andra adresser?

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#2

Hej, du kan ta bort sista tecknet i strängen efter loopen:

theString = left(theString, len(theString)-1)

Lägger du det i en array med getrows() kan du använda

ubound(myArray, 2)

för att kolla så att det är sista posten

bigskyMedlem sedan maj 2002821 inlägg
#3

Raden som skriver ut ser ut enligt nedan:

Response.Write(rsGetEmail("Email") & ", ")

Hur impleterar man din kod i den?

Jesper TMedlem sedan nov. 20017 144 inlägg
#4
theString=(rsGetEmail("Email") & ", ")
response.write left(theString, len(theString)-1)

Kanske.

CatZMedlem sedan jan. 20022 440 inlägg
#5
theString = Response.Write(rsGetEmail("Email") & ", ")
For i = 0 UBound(Din Array)
   theString
Next

theString = left(theString, len(theString)-1)

:q

cyprysMedlem sedan dec. 20003 563 inlägg
#6
theString = left(theString, len(theString)-[b]2[/b]) ? ;)
bigskyMedlem sedan maj 2002821 inlägg
#7

Problemet är att då försvinner både kommat och mellanrummet. Så egentligen fungerar inte något av föslagen ovan. Dessutom tas ju kommat och/eller mellanrummet bort från samtliga poster och det var inte meningen. Det ska bara tas bort från den sista posten. Så här är det nu:

1@mail.com, 2@mail.com, 3@mail.com,

Vill ha det så här:

1@mail.com, 2@mail.com, 3@mail.com

cyprysMedlem sedan dec. 20003 563 inlägg
#8
Dim strepostadresser
do until rs.eof
strepostadresser = strepostadresser & rs("epost") & ", "
rs.movenext
loop

strepostadresser = left(strepostadresser, len(strepostadresser) - 2)
CatZMedlem sedan jan. 20022 440 inlägg
#9

/RED det va inget :r stirrade fel någonstans

bigskyMedlem sedan maj 2002821 inlägg
#10

Använder inte någon Array.

bigskyMedlem sedan maj 2002821 inlägg
#11

Löste det med:

Do Until rsGetEmail.EOF
If Not rsGetEmail("Email") = "" Then
  StrEmail = StrEmail & rsGetEmail("Email") & ", "
End If
rsGetEmail.MoveNext
Loop
	
Response.Write Left(StrEmail, Len(StrEmail) - 2)
crisse6Medlem sedan dec. 20002 526 inlägg
#12

Hej!

Sag detta och har fatt ihop det ganska bra bara att om det ar mer an en person som fyller ar sa tar den bara en av dom! why?

strCheckBirthDay = "select * from t_users where cint(mid(BirthDay,6,2)) = month(now()) and cint(mid(BirthDay,9,2)) = day(now())"
Set objBirthDay = objConn.execute(strCheckBirthDay)

If objBirthDay.eof then
	strBirthDayKid = "Ingen av våra inneboende fyller år idag."
else
Do Until objBirthDay.eof
strBirthDayKid = 	objBirthDay("usrname")&_
					"("&_
					DateDiff("yyyy",objBirthDay("BirthDay"),Date())&_
					")"&","

objBirthDay.movenext
Loop
End IF
@ndersMedlem sedan juni 200032 969 inlägg
#13

Tja, du skulle ju kunna prova att, istället för att skriva om variabeln strBirthDayKid, lägga till saker till den.

[b]strBirthDayKid = strBirthDayKid & [/b]objBirthDay("usrname")&_
					"("&_
					DateDiff("yyyy",objBirthDay("BirthDay"),Date())&_
					")"&","

Mvh ;)

crisse6Medlem sedan dec. 20002 526 inlägg
#14

det har du ju sa ratt i, stang denna trad ocksa..... maste vila upp mig eller nat, har haft 3 daliga ASP dagar nu...... hej da :)

@ndersMedlem sedan juni 200032 969 inlägg
#15

Nehej, du, denna tråd stängs icke. Dels skall du skämmas (;)), dels är det inte du som startat tråden.

Mvh,

140 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)