webForumDet fria alternativet

Ta inte med redan existerande poster...

ASP

4 svar · 136 visningar · startad av brw

Medlem sedan juli 2000619 inlägg
Frågan#1

Hej!

Har denna kod som plockar fram alla bilagor som finns sparade i databasen till en dropdownmeny där jag kan välja och sedan klicka på lägg till knappen.. sidan laddas om och sparar ner id från det som kommer från formuläret och lägger det i en kolonseparerad sträng som separeras med en split längre ned och presenteras med en loop.

Det jag undrar nu är hur jag ska gå till väga ifall jag redan har en bilaga med så vill jag ju inte att den skall finnas med i dropdown menyn efter jag har lagt till den. Alla som finns med i strängen bilagorform2 skall inte finnas med i SQLStmt888-loopen som gör dropdownmenyn.

Strängen bilagorform2 kan se ut såhär: 12:56:566:98 osv.. hur ska jag göra för att den ska ta alla bilagor utom dom som är med i strängen bilagorform2 i nedanstående SQLsats (SQLStmt888)?

Tacksam för svar

<%
SQLStmt888 = "Select id, namn, beskrivningsv FROM bilagor WHERE ok = 'j' ORDER BY namn ASC"
Set RS888 = Connection.Execute(SQLStmt888)
%>

<table>
<tr>
          <td width="15%" align="right"><em>Bilagor:</em></td>
          <td width="2%">&nbsp;</td>
          <td width="83%">
<em>          
          
          <SELECT NAME="bilagorform" class="formular">
<% If RS888.EOF Then %>
<Option value="ej" SELECTED> Det finns inga bilagor i vald kategori </Option>
<% End If %>
<Option value="ej">Välj bilaga</Option>

<% 
Do until RS888.EOF 

bilagorid = Cint(RS888("id"))
bilagor = RS888("namn")
%>
<OPTION value="<% =bilagorid %>"><%=bilagor%></OPTION>
<% 
RS888.Movenext
Loop
RS888.Close
%>
          
          </SELECT>&nbsp;&nbsp;<input type="submit" name="laggtillbilagaform" value="Lägg till" class="formular"></em>
          </td>
        </tr>

</table>

<% If bilagorform2 <> "" Then %>

<table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
          <td width="9%" bgcolor="#000000"><em class="mw">ID</em></td>
          <td width="82%" bgcolor="#000000"><em class="mw">Namn, beskrivning</em></td>
          <td width="9%" bgcolor="#000000"><p align="center"><em class="mw">Ta bort</em></p></td>
        </tr>
        
<%
tcolor = "#cccccc"
If instr(bilagorform2, ":") > "" then
arrTEST = split(bilagorform2, ":")
For each siffra in arrTEST

counter = counter + 1
If counter Mod 2 = 0 then
 color = tcolor
Else
 color = "#ffffff"
End If

If siffra = "" Then
siffra = 0 
End If

SQLStmt100 = "Select * FROM bilagor WHERE id = "&siffra&" "
Set RS100 = Connection.Execute(SQLStmt100)

If not RS100.EOF Then

e_namn = RS100("namn")
e_beskrivningsv = RS100("beskrivningsv")

len_beskrivningsv = Len(e_beskrivningsv)
If len_beskrivningsv > 55 Then
e_beskrivningsv = Left(e_beskrivningsv, 55) & "..."
End If

%>

        <tr>
          <td width="9%" bgcolor="<%=color%>" valign="top"><em><%=siffra%></em></td>
          <td width="82%" bgcolor="<%=color%>" valign="top"><em><%=e_namn%><% If e_beskrivningsv = "" Then %> <br><br> <% Else %> <br><u>Beskrivning:</u>&nbsp;&nbsp;<i><%=e_beskrivningsv%></i></em><% End If %></td>
          <td width="9%" bgcolor="<%=color%>" valign="top">
<center><em><input type="submit" name="tabortbilagaform" value="<%=siffra%>" class="formular">

</em></center>
</td>
        </tr>

<%
RS100.close
Set RS100 = nothing
End If
Next

Else
response.write "endast ett värde har markerats"
End If
%>
      </table>

<% End If %>

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan dec. 200012 464 inlägg
#2
SQLStmt888 = "Select id, namn, beskrivningsv FROM bilagor WHERE ok = 'j'"
str = request.form("bilagorform2")
if str <> "" then
str = replace(str,":",",")
sqlstmt888 = sqlstmt888 & " and id not in (" & str & ")"
end if
sqlstmt888 = sqlstmt888 & " ORDER BY namn ASC"
Set RS888 = Connection.Execute(SQLStmt888)

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

Medlem sedan juli 2000619 inlägg
#3

IDvärdena ser ut som följande i bilagorform2:

23:54:67:90 alltså kolonseparerade.. fungerar din kod då?

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan dec. 200012 464 inlägg
#4

Ja, det är därför jag gör replace och byter ut : till , Min lösning förutsätter också att id är numeriskt.

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

Medlem sedan juli 2000619 inlägg
#5

Åh sorry. såg inte replace där i koden.. ;)

Tackar för koden.. skall prova imorgon på jobbet!!
:)

------------------
Ingenting är omöjligt, bara en utmaning.

[Redigerat av brw den 26 nov 2001]

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