Avatar billede intel4ever Nybegynder
21. april 2004 - 14:05 Der er 17 kommentarer og
2 løsninger

sql sætning

jeg skal have rettet en sql sætning så den virker, skulle være meget simpel:

SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype = "w" ORDER BY filename"

den virker fint hvis jeg kobler det efter AND fra

hvad gør jeg galt M.V.H. René Kvist
Avatar billede mm12010 Nybegynder
21. april 2004 - 14:08 #1
SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype = 'w' ORDER BY filename"
Avatar billede mm12010 Nybegynder
21. april 2004 - 14:08 #2
eller hvis w er en variabel:

SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype = '"&w&"' ORDER BY filename"
Avatar billede intel4ever Nybegynder
21. april 2004 - 14:18 #3
SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype = 'w' ORDER BY filename"

jamen det er jo det jeg skrev, w er noget der "kan" stå i databasen ud for filnavnene
Avatar billede intel4ever Nybegynder
21. april 2004 - 14:19 #4
men jeg kan jo selvføldig bare lave variabler prøver det lige
Avatar billede intel4ever Nybegynder
21. april 2004 - 14:22 #5
jeg er ikke helt med på hvad du mener kan du prøve at skrive det i kode
Avatar billede intel4ever Nybegynder
21. april 2004 - 14:27 #6
hvis jeg ændre det til 'w' laver den en fejl når jeg søger

fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede mm12010 Nybegynder
21. april 2004 - 14:38 #7
hvad står der i filtype-kolonnen?
Avatar billede intel4ever Nybegynder
21. april 2004 - 14:42 #8
der kan så enten w,p,x i den, det jeg vil have er at kun de documenter som fx indholder w skal medtages i søgningen.
Avatar billede intel4ever Nybegynder
21. april 2004 - 14:43 #9
skal du bruge hele koden.????
Avatar billede mm12010 Nybegynder
21. april 2004 - 14:51 #10
når denne melder fejl, er du så sikker på at searchfor er blvet tildelt en værdi?

SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype = 'w' ORDER BY filename"

i så fald kan du prøve sådan:

SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype LIKE '%w%' ORDER BY filename"

hvis det heller ikke virker vil jeg gerne se et exempel på 2 tilfældige rækker fra documents-tabellen
Avatar billede intel4ever Nybegynder
21. april 2004 - 15:02 #11
ja jeg er likker på at searchfor er blevet tildelt en værdi, da jeg brugte det inden jeg tilføjede AND....., skal jeg sende databasen til dig eller... du må også gerne få flere point hvis det er nødvændigt
Avatar billede mm12010 Nybegynder
21. april 2004 - 15:05 #12
du kan sende til mig på: jesper [a] grini [punktum] dk
Avatar billede intel4ever Nybegynder
21. april 2004 - 15:09 #13
modtaget..???
Avatar billede intel4ever Nybegynder
21. april 2004 - 15:16 #14
og her er koden:

<% 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")

   
    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"
   
   
    elseif R1 = "w" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then
    SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype like '%w%' ORDER BY filename"
   
    elseif R1 = "p" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then
    SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype like '%p%' ORDER BY filename"
   
    elseif R1 = "x" and C1 = "YES" and C2 = "YES" and C3 = "YES" and C4 = "YES" Then
    SQL = "SELECT filname, filetype FROM documents WHERE filename like '%" & searchfor & "%' AND filetype like '%x%' 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 mm12010 Nybegynder
21. april 2004 - 15:24 #15
SQL = "SELECT * FROM documents WHERE filename LIKE '%"&searchfor&"%' AND filetype='w' ORDER BY filename"
Avatar billede mm12010 Nybegynder
21. april 2004 - 15:29 #16
og her hvor den kun henter fra filename og filetype:

SQL = "SELECT filename, filetype FROM documents WHERE filename LIKE '%"&searchfor&"%' AND filetype='w' ORDER BY filename"
Avatar billede intel4ever Nybegynder
21. april 2004 - 15:30 #17
huraae p virker men ved de 2 andre kommer der en fejl:


Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

Command text was not set for the command object.

/search.asp, line 42
Avatar billede intel4ever Nybegynder
21. april 2004 - 15:41 #18
sådan nu virker det fandt selv fejlen jeg skrev x istædet for e, ehh når jeg trykker på acceptere skre der ikke rigtig noget noget du har prøvet før
Avatar billede mm12010 Nybegynder
21. april 2004 - 15:54 #19
ok - takker for point ;-)
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