webForumDet fria alternativet

Loopa ut "lediga" bokstäver i alfabetet

ASP

4 svar · 294 visningar · startad av HeHo

Medlem sedan apr. 2000277 inlägg
Frågan#1

Hur ska man göra för att på ett smart sätt skriva ut bokstäverna i alfabetet som inte redan är "tagna" Dvs. jag har en tabell som innehåller olika uppdrag/projekt och dessa har en egen bokstavskod tex G. Jag vill då i en dropdown visa de bokstäver som inte tillhör något uppdrag/projekt dvs de "lediga" bokstäverna.
Jag har alfabetet i en textsträng som jag loopar ut en och en bokstav från och jämför med bokstavskoden i databasen men jag får endera att de lediga bokstäverna skrivs ut lika många gånger som slingan går eller tvärtom, dvs lika många gånger som det finns poster i databasen....jag blir galen....hur ska jag göra, för att skriva ut de "lediga" bokstäverna en gång!

------------------

Den som söker, måste leta!

Medlem sedan dec. 200012 464 inlägg
#2
query = _
"select distinct q from projects right join 
(select 'A' as q union 
select 'B' union 
select 'C' union
select 'D' union
select 'E' union
select 'F' union
select 'G' union
select 'H' union
select 'I' union
select 'J' union
select 'K' union
select 'L' union
select 'M' union
select 'N' union
select 'O' union
select 'P' union
select 'Q' union
select 'R' union
select 'S' union
select 'T' union
select 'U' union
select 'V' union
select 'W' union
select 'X' union
select 'Y' union
select 'Z' ) as alphabet on letter = alphabet.q
where letter is null"
set rs = connect.execute(query)
if not rs.eof then
   response.write "<select name='free'>"
   while not rs.eof
    response.write "<option value='" & rs("q") & "'>" & rs("q") & "</option>"
    rs.movenext
   wend
response.write "</select>"
end if
rs.close
set rs = nothing

------------------
essentitia preter non sans multiplicandum

Medlem sedan apr. 2000277 inlägg
#3

Tack för din tid LarsG, men jag lyckades lösa det på annat sätt... ;) :)

------------------

Den som söker, måste leta!

Medlem sedan nov. 20017 144 inlägg
#4

Tack för din tid LarsG, men jag lyckades lösa det på annat sätt...

Hur om jag får fråga?

MVH Jesper T :)

------------------
If ASPackad date-1 then ASPerin Now

Medlem sedan apr. 2000277 inlägg
#5

Ok! så här gjorde jag!

<SELECT NAME=free_kod>
<%	
Dim alfabet, i
alfabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ"

Call init()
strSQL = "SELECT omrade_kod FROM grupper ORDER BY omrade_kod ASC"
Set objRS = objConnection.Execute (strSQL)

Do until objRS.EOF
alfabet = taBort(alfabet,Trim(objRS("omrade_kod")))
objRS.MoveNext()
Loop

Call CleanUp()
for i=1 to len(alfabet)%>
<OPTION VALUE=<%=mid(alfabet,i,1)%>><%=mid(alfabet,i,1)%></OPTION>						
<%Next%>
</SELECT>

<%
Function taBort(x, y)
	Do while InStr(1, x, y,1) <> 0
		x = taBortEn(x,y)
	Loop
	tabort = x
end function

Function taBortEn(x, y)
dim start, stopp, vanster, hoger, vansterLen, hogerLen
	start=InStr(1,x,y,1)
	stopp=start+Len(y)-1
	vansterLen=start-1
	hogerLen=len(x)-stopp
	vanster=left(x,vansterLen)
	hoger=right(x,hogerLen)
	taBortEn=vanster+hoger
end function
%>

------------------

Den som söker, måste leta!

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)