Avatar billede intel4ever Nybegynder
21. april 2004 - 12:25 Der er 18 kommentarer og
1 løsning

simpel søgefunktion med sql

hej jeg er ved at lave en søge funktion i asp det meste virker fint men nu er jeg ved at lave udvidelser og jeg har tilføjet et par knapper og jeg ved ikke hvordan jeg laver en simpel if sætning det jeg skal lave er noget i stiel med dette:

If R1 = "v" & C1 = "YES" & C2 = "YES" & C3 = "YES" & C4 = "YES" Then

SQL = "SELECT * FROM documents WHERE filename like '%" & searchfor & "%' ORDER BY filename"
   
Else
SQL = "SELECT * FROM documents WHERE filename like '%" &  & "%' ORDER BY filename"
   
end if


alt sql'en virker fint og uden if sætningerne er der ingen problemer, R1,C1,C2,C3,C4 er knapper og er med i formen som man søger på hvad gør jeg forkert, jeg er rimelig god til c++ men har aldrig laver asp før.

På forhånd tak.
Avatar billede nozio Nybegynder
21. april 2004 - 12:29 #1
La os se din form
Avatar billede intel4ever Nybegynder
21. april 2004 - 12:35 #2
<FORM action="search.asp?vis=searchresultat "method=POST id=searchsystem name=searchsystem>
<p align="center" style="position: absolute; left: 9px; top: 1px; width: 990px; height: 69px" id="search">
<input type="submit" value="Søg" name="Søg">
<input type="text" name="searchfor" size="49" value="skriv navn på document her!">&nbsp;<br>

<input type="radio" value="w" name="R1">Word&nbsp;
<input type="radio" value="e" name="R1">Excel&nbsp;
<input type="radio" value="p" name="R1">Powerpoint&nbsp;
<input type="radio" value="v" checked name="R1">Ved ikke<br>
<input type="checkbox" name="C1" value="YES">Training&nbsp;
<input type="checkbox" name="C2" value="YES">Presentations&nbsp;
<input type="checkbox" name="C3" value="YES">Examples&nbsp;
<input type="checkbox" name="C4" value="YES">Templates
</FORM>

</p>
Avatar billede intel4ever Nybegynder
21. april 2004 - 12:36 #3
sig til hvis du skal have hele koden...
Avatar billede intel4ever Nybegynder
21. april 2004 - 12:39 #4
og forrasten her er fejlmeddelsen: Microsoft VBScript compilation error '800a03ea' Syntax error
Avatar billede nozio Nybegynder
21. april 2004 - 12:43 #5
If R1 = "v" & C1 = "YES" & C2 = "YES" & C3 = "YES" & C4 = "YES" Then

- du skal skrive

If R1 = "v" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then

- men så skal alle 4 checkboxe være hakket af på samme tid. Hvis det kun er en så skal du bruge or

If R1 = "v" and (C1 = "YES" or C2 = "YES" or C3 = "YES" or C4 = "YES") Then
Avatar billede intel4ever Nybegynder
21. april 2004 - 12:46 #6
takker det ved jeg det er fordi alle mulighederne skal være der, det var bare syntax fejlene jeg ikke kunne rette der kommer skam meget mere på...
Avatar billede intel4ever Nybegynder
21. april 2004 - 12:50 #7
men der er stadig syntax fejl, bare sig til hvis du vil havce flere point, 200 er ikke noget problem
Avatar billede nozio Nybegynder
21. april 2004 - 12:52 #8
smid lige koden som den ser ud nu og fejlen igen ..
Avatar billede intel4ever Nybegynder
21. april 2004 - 12:59 #9
If R1 = "v" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then
SQL = "SELECT * FROM documents WHERE filename like '%" & searchfor & "%' ORDER BY filename"
   
Else
SQL = "SELECT * FROM documents WHERE filename like '%" &  & "%' ORDER BY filename"
   
end if


fejl: bare mig der ikke kikker ordenligt efter chekker lige om det virker nu... det var sql-linjen der var forkert 2 sek
Avatar billede intel4ever Nybegynder
21. april 2004 - 13:03 #10
nu skriver den:

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'
Command text was not set for the command object.
/search.asp, line 24

i linje 24 står der: Set RS = Conn.Execute(SQL)
Avatar billede intel4ever Nybegynder
21. april 2004 - 13:04 #11
her er hele koden det gør det måske lidt lettere:

<% if request.querystring("vis") = "searchresultat" then
searchfor = request.form("searchfor")
if searchfor = "" then searchfor = ""
%>

<h1>Søge resultat</h1>

Du har søgt på : <%=searchfor%> <br><br>

<a href="file_tree.asp" target="_self">Tryk her for at genåbne filtræet</a>

<hr><br>
<%    Set    Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("prg.mdb")

   
    If R1 = "v" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then
    SQL = "SELECT * FROM documents WHERE filename like '%" & searchfor & "%' ORDER BY filename"
   
    end if 
   
   
   
    Set RS = Conn.Execute(SQL)

    count = 0
   
    if RS.eof then
    response.write "<b>0 resultater</b>"
    end if
    Do While Not RS.EOF
    count = count + 1
    %>

<%=count%>.)<a href="\\fp02-f01\CF01-GRP\Projekter\DPP\PRG\Attachements\Active attachements\<%=RS("patch")%>\<%=RS("filename")%>" target="_blank"> <%=RS("filename")%></a> <br><br>

<% RS.MoveNext
Loop

RS.close
set RS = nothing
Conn.close
set Conn = nothing %>
<br>
<hr>

<% if count <> 0 then %>
Der var i alt <%=count%> resultater der matchede din søgning.



<% end if %>

<% else %>


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Word&nbsp; Excel&nbsp; Powerpoint&nbsp; Ved ikke</title>
<base target="contents">
</head>



<body>


<FORM action="search.asp?vis=searchresultat "method=POST id=searchsystem name=searchsystem>
<p align="center" style="position: absolute; left: 9px; top: 1px; width: 990px; height: 69px" id="search">
<input type="submit" value="Søg" name="Søg">
<input type="text" name="searchfor" size="49" value="skriv navn på document her!">&nbsp;<br>

<input type="radio" value="w" name="R1">Word&nbsp;
<input type="radio" value="e" name="R1">Excel&nbsp;
<input type="radio" value="p" name="R1">Powerpoint&nbsp;
<input type="radio" value="v" checked name="R1">Ved ikke<br>
<input type="checkbox" name="C1" value="YES">Training&nbsp;
<input type="checkbox" name="C2" value="YES">Presentations&nbsp;
<input type="checkbox" name="C3" value="YES">Examples&nbsp;
<input type="checkbox" name="C4" value="YES">Templates
</FORM>

</p>




</body>
</html>
<% end if %>
Avatar billede nozio Nybegynder
21. april 2004 - 13:07 #12
du bliver sku' nok nødt til at smide din asp-kode her op...
Avatar billede intel4ever Nybegynder
21. april 2004 - 13:08 #13
er gjort hehe..
Avatar billede nozio Nybegynder
21. april 2004 - 13:22 #14
Du får aldrig defineret dine R1 / C1 / C2 / C3 / C4

- prøv med

R1 = request.form("R1")
C1 = request.form("C1")
C2 = request.form("C2")
C3 = request.form("C3")
C4 = request.form("C4")

If R1 = "v" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then
    SQL = "SELECT * FROM documents WHERE filename like '%" & searchfor & "%' ORDER BY filename"
end if
Avatar billede intel4ever Nybegynder
21. april 2004 - 13:25 #15
jeg prøver lige 2 sek
Avatar billede intel4ever Nybegynder
21. april 2004 - 13:29 #16
yep det virkede den laver stadig fejl hvis r1 ikke er v og c1-c4 ikke er krydset af men det er også meningen endnu tak for hjælpen du kan jo lige lave et svar så du kan få nogle point
Avatar billede nozio Nybegynder
21. april 2004 - 13:30 #17
ok - et svar
Avatar billede intel4ever Nybegynder
21. april 2004 - 13:48 #18
hvis jeg trykker accepter forsvinder det ikke bagefter har du fået dine point
Avatar billede dr-data Nybegynder
21. april 2004 - 14:27 #19
kig i din
Else
SQL = "SELECT * FROM documents WHERE filename like '%" &  & "%' ORDER BY filename"

linie efter '%" &  & "%'  :)
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