Avatar billede larsen45 Juniormester
04. juni 2004 - 13:03 Der er 2 kommentarer og
1 løsning

Søge i flere tabeller

Jeg har meget bøvl med at finde ud af hvordan jeg kan søge igennem alle Tabellerne i en Dropdown funktion med søgeboks.

Jeg kan godt søge igennem de enkelte tabeller men altså ikke dem
alle sammen. Hvordan gør jeg det?
og hvis man har forskellige tabel felter hvordan klarer jeg så det også.

Jeg har lavet 2 eksemple tabeller: Kunde og Kunde2
og Felterne er ens: ID,Navn,Adresse,Bynavn,Beskrivelse

se kode:

<%
' Henter værdien fra soeg.htm
strKeyword = Trim(Request.Form("Keyword"))

If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i feltet
Response.Clear
Response.Redirect("search.htm")
Else
' Hvis der er skrevet i feltet
strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, Navn, Adresse, Bynavn, Beskrivelse FROM " & Request.Form("tabel") & " WHERE"
strSQL = strSQL & " (Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Adresse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Bynavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Beskrivelse LIKE '%" & strKeyword & "%')"


' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
' Hvis der er fundet poster på søgningen
Response.Write "<p>Søgeresultat</p>"
Response.Write "<table border=1>"
Response.Write "<tr><th>Navn</th><th>Adresse</th><th>By</th><th>Beskrivelse</th></tr>"
Do While Not rs.EOF
Response.Write "<tr><td>" & rs("Navn") & "</td>"
Response.Write "<td>" & rs("Adresse") & "</td>"
Response.Write "<td>" & rs("Bynavn") & "</td>"
Response.Write "<td>" & rs("Beskrivelse") & "</td></tr>"
rs.MoveNext
Loop
Response.Write "</table>"
Else
' Hvis der ikke er fundet poster på søgningen
Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>
Avatar billede n30thaone Nybegynder
10. juni 2004 - 12:58 #1
Du kan lave det lidt tricky, og lave et array med en SQL string i for hver tabel, og så loope igennem det... Det skulle virke... Der er sikkert en bedre måde, men jeg kender ikke andre.

Desuden vil jeg foreslå dig at bruge Inline ASP i stedet for, alle de response.writes er spild af tid, du kan bare bruge <td><%=RS("værdi")%></td> <-- Du skal dog huske at aflsutte din script blok inden =).
Avatar billede larsen45 Juniormester
10. juni 2004 - 14:41 #2
Jeg har lige fået hjælp til selve søge funktionen. Det jeg så mangler nu er en dropdown menu som kan sortere data fra en access database sådan at man har 2 bokse
en med:
overskrift
Dato
og så den anden boks ved siden af med:
stigende
faldende
Ligesom på exp. har det.

hvordan kan man fikse dette sorterings problem??
Avatar billede larsen45 Juniormester
29. december 2004 - 03:17 #3
lukker
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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