Avatar billede hygge81 Nybegynder
28. oktober 2002 - 16:13 Der er 8 kommentarer og
2 løsninger

Søg i flere felter.....

Hejsa....jeg vil gerne have min søgemaskine til at søge i flere felter og hente alle hits....DVS. jeg søger på en NACE tekst eller et NACE nr. og så skal søge maskinen finde alle hits i 6 forskellige kolloner....sådan her ville jeg mene det skulle skrives.....men det virker ikke....

SQL = "SELECT * FROM Firmaregister "
SQL = SQL & "WHERE Nacetekst1 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst2 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst3 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst4 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst5 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst6 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "AND Firmanavn Like '%" & Request.QueryString("Firmanavn") & "%' "
SQL = SQL & "AND Byen Like '%" & Request.QueryString("Byen") & "%' "
%>
<%If Nace = Y then
SQL = SQL & "AND Nacenr1 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr2 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr3 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr4 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr5 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr6 = '" & Request.QueryString("Nacenr") & "' "
else
End if%>

<!-- Databasen hentes -->
<%
SQL = SQL & "ORDER BY " & Request.QueryString("Sorter") & " "
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/Databaser/conexio/Firmareg.mdb"
set RS = conn.execute( SQL )%>
Avatar billede nih Novice
28. oktober 2002 - 17:03 #1
SELECT * FROM Firmaregister
WHERE ([felt1]&[felt2]&[felt3]&[felt4]&[felt5]&[felt6]&[felt7]) LIKE 'søgeord';

Jeg plejer at samle mine felter i ét og søge i det.

Niels
Avatar billede nih Novice
28. oktober 2002 - 17:04 #2
LIKE '*søgeord*'

stjerne skulle med :)
Avatar billede hygge81 Nybegynder
28. oktober 2002 - 17:10 #3
DVS.

SQL = SQL & "AND ([Nacenr1]&[Nacenr2]&[Nacenr3]&[Nacenr4]&[Nacenr5]&[Nacenr6]) LIKE '*Request.QueryString("Searchfor")*'
Avatar billede nih Novice
28. oktober 2002 - 17:26 #4
SQL = SQL & "WHERE ([Nacenr1]&[Nacenr2]&[Nacenr3]&[Nacenr4]&[Nacenr5]&[Nacenr6]) LIKE '*Request.QueryString("Searchfor")*'"

WHERE i stedet for AND

Ellers skulle den virke
Avatar billede nih Novice
28. oktober 2002 - 17:32 #5
Er det numeriske felter ??

så er det nok en fordel at indsætte et ophold imellem hvert nr.
SQL & "WHERE ([Nacenr1]& " " & [Nacenr2]& " " & [Nacenr3] osv....

Niels
Avatar billede hygge81 Nybegynder
28. oktober 2002 - 17:51 #6
Tak....men det virker ikke.....!!! Sorry....
Avatar billede amerikaner Nybegynder
29. oktober 2002 - 09:07 #7
Du skal bare har nogen ().  I'm sure it could be done more elegant but this should work....

SQL = "SELECT * FROM Firmaregister "
SQL = SQL & "WHERE (Nacetekst1 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst2 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst3 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst4 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst5 Like '%" & Request.QueryString("Searchfor") & "%' "
SQL = SQL & "OR Nacetekst6 Like '%" & Request.QueryString("Searchfor") & "%') "
SQL = SQL & "AND Firmanavn Like '%" & Request.QueryString("Firmanavn") & "%' "
SQL = SQL & "AND Byen Like '%" & Request.QueryString("Byen") & "%' "
%>
<%If Nace = Y then
SQL = SQL & "AND (Nacenr1 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr2 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr3 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr4 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr5 = '" & Request.QueryString("Nacenr") & "' "
SQL = SQL & "OR Nacenr6 = '" & Request.QueryString("Nacenr") & "') "
else
End if%>
Avatar billede hossein Nybegynder
29. oktober 2002 - 12:37 #8
hvis det er win2000 eller XP så skal % ændres til *
Avatar billede mhq Nybegynder
30. oktober 2002 - 20:25 #9
Jeg er klar over det ikke er helt hvad du spørger til, men måske nedenstående vil være en mulighed. Resultatet er at der søges på de felter (i en form) som er udfyldt. Der er ved denne stump kode ikke krav til at alle felter skal udfyldes. Dog søges der ikke ved brug af wild-card. Det kan fikses!

Private Sub Rapp_Search_Click()
Dim strSQL As String
Dim strTBL As String
Dim useWhere As Boolean
Dim strWhereClause As String
Dim Kriterie As String
   
strTBL = "T_D_Dok"
useWhere = False
strWhereClause = ""
DoCmd.Close acForm, "F_D_Dok_Result"
DoCmd.Close acForm, "F_D_Dok_Result_Rapp"
   
If Not IsNull(Forms!F_D_Dok_Search_Rapp!DokTypeIDnr.Value) Then
    strSQL = fkt_AddWhereClause(useWhere, strSQL)
    useWhere = True
    strSQL = strSQL & "DokTypeIDnr=" &_
            CStr(Forms!F_D_Dok_Search_Rapp!DokTypeIDnr.Value)
End If
End Sub

Private Function fkt_AddWhereClause(useWhere As Boolean, strSQL As String) As String
If useWhere = False Then
        'strSQL = strSQL & "WHERE "
    Else
        strSQL = strSQL & " AND "
    End If

fkt_AddWhereClause = strSQL
End Function
Avatar billede mhq Nybegynder
30. oktober 2002 - 20:26 #10
Der skal følgelig tilføjes et antal If Not IsNull afsnit svarende til det antal felter du ønsker skal indgå i dit samlede søgekriterie!
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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