Avatar billede asp_rookie Nybegynder
20. maj 2003 - 10:24 Der er 20 kommentarer og
1 løsning

sql forespørgsel...

Jeg har 2 select menuer...
Jeg skal have listet resultatet hvor begge matcher en record i en database hvor tabellen hedder projekt??

Dim SqlJunk, sektor, box
sektor = request.querystring("Typesearch")
box = request.querystring("DaInBox")

Set dbGlobalWeb = Server.CreateObject("ADODB.Connection")
dbGlobalWeb.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("projekt.mdb")

SqlJunk = "SELECT * FROM projekt where 'sektor' AND 'box'"????


Set rsGlobalWeb = Server.CreateObject("ADODB.Recordset")
rsGlobalWeb.Open SqlJunk, dbGlobalWeb, 3
Avatar billede eagleeye Praktikant
20. maj 2003 - 10:40 #1
Du skal havde et kolonnenavn i WHERE delen på en eller anden måde.
Er sektor kolonnen??? Så bliver det i stil med.
SqlJunk = "SELECT * FROM projekt where " & sektor & " ='" & box & "'"
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 10:44 #2
Får denne:
Syntax error (missing operator) in query expression '='''.
Avatar billede michael_stim Ekspert
20. maj 2003 - 10:48 #3
Er sektor en string (tekst) skal der fnutter (') om.
//Michael
Avatar billede michael_stim Ekspert
20. maj 2003 - 10:50 #4
SqlJunk = "SELECT * FROM projekt where '" & sektor & "' ='" & box & "'"
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 10:55 #5
Ok... ;o)

Men den vælger alt i tabellen...
Jeg har 6 kolonner, sektor, sektor_2, sektor_3, afd, afd_2 og afd_3
den ene select menu vælger man sektor den anden afd.

Meningen var at man så skulle kunne sortere på den måde...
Så hvis man vælger sektor_2 i den ene og afd_2 i den anden så får man det..
Kan det ikke gøres på den måde??
Avatar billede eagleeye Praktikant
20. maj 2003 - 10:59 #6
Så sektor vælger man : sektor, sektor_2, sektor_3
Og box vælger : afd, afd_2 og afd_3

Er det rigtigt forstået?
Avatar billede eagleeye Praktikant
20. maj 2003 - 11:02 #7
Hvis den skal liste de to kolonner man vælger i sektor og box så prøv:

SqlJunk = "SELECT " & sektor & ", " & box & " FROM projekt"

Set rsGlobalWeb = Server.CreateObject("ADODB.Recordset")
rsGlobalWeb.Open SqlJunk, dbGlobalWeb, 3

do while not rsGlobalWeb.EOF
  Response.write rsGlobalWeb(0) & " .... " & rsGlobalWeb(1) & "<br>"
  rsGlobalWeb.Movenext
loop
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 11:20 #8
Kan man ikke gøre sådan at man bare tager resultatet fra de 2 form felter:
SqlJunk = "SELECT " & request.querystring("TypeSearch") & ", " & request.querystring("DaInBox") & " FROM projekt"

På denne får jeg godt nok fejl:
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 11:29 #9
Sådan:
SqlJunk = "SELECT * FROM projekt where " & request.querystring("TypeSearch") & " 'AND' " & request.querystring("DaInBox") & ""

Men den plører det hele ud uden at tage hensyn til de values fra select menuen...??
Avatar billede roenving Novice
20. maj 2003 - 11:33 #10
SqlJunk = "SELECT * FROM projekt where sektor='sektor' AND box='box'"

-- er ikke sikker på syntaksen, men det er vel sådan at du skal udvælge de records, hvor sektor-kolonnen er 'sektor' og box-kolonnen er 'box' ?-)
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 11:34 #11
Ja noget i denne stil:
SqlJunk = "SELECT * FROM projekt where 'sektor' = " & request.querystring("TypeSearch") & " 'AND' 'afd' = '" & request.querystring("DaInBox") & ""

Men der er også fejl i syntaksen....o/
Avatar billede roenving Novice
20. maj 2003 - 11:56 #12
SqlJunk = "SELECT * FROM projekt where sektor = '" & request.querystring("TypeSearch") & "' AND afd = '" & request.querystring("DaInBox") & "'"

-- har en fornemmelse af, at den nærmer sig ,-)
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 12:06 #13
Ja.. jeg får ikke fejl men den finder ingen match... selvom der burde være match i db'en... hmmm..
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 13:23 #14
Du har ret roenving... min form stod til post - det skulle være send, nu virker det....
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 13:24 #15
så opret et svar...;o)
Avatar billede roenving Novice
20. maj 2003 - 13:43 #16
Muy bueno .-)
Avatar billede asp_rookie Nybegynder
20. maj 2003 - 14:00 #17
Så kommer det til at sådan her ud, men min paging virker ikke.. ;o/
Ved du hvordan jeg får det til at virke??

intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If


Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "Select * From projekt where sektor='" & request.querystring("TypeSearch") & "' AND afd ='" & request.querystring("DaInBox") & "'"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("admin/projekt/projekt.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
      response.write Left(rs("Sagsnavn"),50)
      if len(trim(rs("Sagsnavn")))= 50 then response.write "..."
      response.write "<a href=""projekt_opl.asp?id=" & rs("ID") & """>...>></a>" & "<br>"
      intRecCount = intRecCount - 1
    rs.MoveNext   
    Loop
End If

rs.Close
Set rs = Nothing
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=daengine.asp?page=" & intNum & ">" & intNum & "</a> "
Next


If Clng(intPage) > 1 Then
    Response.Write "<a href=daengine.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=daengine.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
Avatar billede roenving Novice
20. maj 2003 - 14:09 #18
Desværre -- som sagt ikke asp'er ,-|
Avatar billede roenving Novice
20. maj 2003 - 14:24 #19
Takker for points ;~}
Avatar billede asp_rookie Nybegynder
21. maj 2003 - 09:12 #20
kan jeg kigge i flere kolonner:
"Select * From projekt where sektor='" & request.quer

så:
"Select * From projekt where sektor(el. sektor_2 el. sektor_3)='" & request.quer
Avatar billede roenving Novice
21. maj 2003 - 11:46 #21
No problem ... men du er nødt til at gøre dir udtryk færdigt hver gang, men så kan du også lave det så kompliceret som du måtte ønske, f.eks. (for nemheds skyld ikke skrevet med requst osv.):

"Select * From projekt where (sektor=1 OR sektor_2=17) AND sektor_3=3"

-- betyder, at sektor_3 _skal_ være 3 og så skal en eller begge af de andre udsagn være opfyldt.

hth
jes
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