Avatar billede celine Nybegynder
13. april 2004 - 20:00 Der er 5 kommentarer og
1 løsning

Hente data vhj af søgefunktion

Jeg har lavet en søg formular og vil hente records fra en access database. Det er titler der hentes i dropdownboksen men når man trykker på "søg" går den tilbage til den forrige titel. Der kommer ingen nye records frem.

kode for formular og den procedure der henter records.

dim fnavn
dim enavn
dim email
dim titel
dim spoergsmol
dim strConn
dim rs
dim objRec



find_sp

sub find_sp
    set strConn = Server.CreateObject("ADODB.connection")
    set rs = Server.CreateObject("ADODB.recordset")
    strConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering
    strSQL = "SELECT DISTINCT titel from spoergsmol ORDER BY titel"
    rs.open strSQL, strConn, AdOpenForwardOnly

   
    %>
    <form action="adm_forside.asp?action=henter_sp" method="post" name="sporgs">
    <select name="titel" style="width: 150px">
    <%
   
            while not rs.EOF
            %>
            <option><% =rs.fields("titel") %></option>
            <%
        rs.movenext
        wend
       
        rs.close
        set rs = nothing
       
    %>
    </select><input type="submit" value=" søg " name="soeg"></form>
<%
end sub
%>
<br><br>
<%
dim antal
antal =0
henter_sp

function henter_sp

    set objConn = Server.CreateObject("ADODB.connection")
    set objRec = Server.CreateObject("ADODB.recordset")
    objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering
    strSQL = "SELECT * from spoergsmol ORDER BY id"
    objRec.open strSQL, objConn, AdOpenForwardOnly
   
    while not objRec.EOF
       
        if (antal = 0) then
            %><table class="table3" scrolling="auto"><tr><td>Navn: <% Response.Write objRec("fornavn") %>&nbsp;
            <% Response.Write objRec("efternavn")%></td></tr>
            <tr><td><hr size="2">mail adresse: <% Response.Write objRec("email") %></td></tr>
            <tr><td><hr size="2">titel: <% Response.Write objRec("titel") %></td></tr>
            <tr><td><hr size="2">spørgsmål:<br> <% Response.Write objRec("spoergsmol")%></td></tr>
            </table>
           
           
            <%
            antal = antal+1
        end if
    objRec.movenext
    wend
        objRec.close
        set objRec = nothing
end function
%>
Avatar billede montago Praktikant
13. april 2004 - 21:01 #1
Derfor:

<%
dim fnavn
dim enavn
dim email
dim titel
dim spoergsmol
dim strConn
dim rs
dim objRec



find_sp

sub find_sp
    set strConn = Server.CreateObject("ADODB.connection")
    set rs = Server.CreateObject("ADODB.recordset")
    strConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering
    strSQL = "SELECT DISTINCT titel from spoergsmol ORDER BY titel"
    rs.open strSQL, strConn, AdOpenForwardOnly

   
    %>
    <form action="adm_forside.asp?action=henter_sp" method="post" name="sporgs">
    <select name="titel" style="width: 150px">
    <%
    Do
        Response.Write "<option value=""" & rs.fields("titel") & """>" & rs.fields("titel") & "</option>"
    rs.movenext
    Loop while not rs.EOF
       
        rs.close
        set rs = nothing
       
    %>
    </select><input type="submit" value=" søg " name="soeg">
</form>
<%
end sub
%>
<br><br>
<%
dim antal
antal =0
henter_sp

function henter_sp

    set objConn = Server.CreateObject("ADODB.connection")
    set objRec = Server.CreateObject("ADODB.recordset")
    objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering
    strSQL = "SELECT * from spoergsmol ORDER BY id"
    objRec.open strSQL, objConn, AdOpenForwardOnly
   
    while not objRec.EOF
       
        if (antal = 0) then
            %><table class="table3" scrolling="auto"><tr><td>Navn: <% Response.Write objRec("fornavn") %>&nbsp;
            <% Response.Write objRec("efternavn")%></td></tr>
            <tr><td><hr size="2">mail adresse: <% Response.Write objRec("email") %></td></tr>
            <tr><td><hr size="2">titel: <% Response.Write objRec("titel") %></td></tr>
            <tr><td><hr size="2">spørgsmål:<br> <% Response.Write objRec("spoergsmol")%></td></tr>
            </table>
           
           
            <%
            antal = antal+1
        end if
    objRec.movenext
    wend
        objRec.close
        set objRec = nothing
end function
%>
Avatar billede montago Praktikant
13. april 2004 - 21:08 #2
jeg forstår ikke helt hvorfor du har tingene som en function og en sub... men du bruger sikkert tingene på en anden måde end hvad jeg plejer...
Avatar billede celine Nybegynder
15. april 2004 - 08:57 #3
Jeg er rimelig nybegynder i asp osv, så når jeg bruger sub og function er fordi det er brugt i alle de eksempler jeg finder i bøger. Men det virker vel lige godt uden...
Avatar billede celine Nybegynder
15. april 2004 - 09:36 #4
'jeg forstår ikke helt det her. Jeg kan heller ikke få det til at virke. der bliver ikke hentet noget fra databasen.

    Do
        Response.Write "<option value=""" & rs.fields("titel") & """>" & rs.fields("titel") & "</option>"
    rs.movenext
    Loop while not rs.EOF
       
        rs.close
        set rs = nothing
       
    %>
    </select><input type="submit" value=" søg " name="soeg">
</form>
Avatar billede montago Praktikant
15. april 2004 - 18:01 #5
-jamen... jeg har ikke rodet med din sql... ergo, hvis din sql virker, og der bliver fundet nogle resultater...

vil disse komme frem som valgmuligheder i din Select-Box

egentlig... så er :

Do while not rs.eof
  Response.Write "<option value=""" & rs.fields("titel") & """>" & rs.fields("titel") & "</option>"
  rs.movenext
Loop

smartere... men det er jo også det du statede med... med Wend dog...

anyhow... så er udformningen af dine Options vigtig at lave rigtig... idet der skal være Values som man kan vælge imellem
Avatar billede celine Nybegynder
19. april 2004 - 21:13 #6
Jeg har imellem tiden fået det til at virke. Select boksen virkede godt, men der kom ikke de rigtige oplysninger frem når man klikkede på søg. Men nu virker det.
Men tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester