Avatar billede stinejh1980 Nybegynder
09. november 2005 - 16:44 Der er 3 kommentarer og
1 løsning

Optimeret søgning i Db

Er der nogen der kan sige mig om man kan sige mig om man kan gøre denne søgning i Db smartere

Jeg skal finde 4 forskellige felter i Db, som ikke ligge i samme række.

    Sub BtnSPLommeHent_Click(sender As Object, e As EventArgs)
    Dim SPL1, SPL2, SPL3, SPL4 as string
   
        if TxtSPLae1Resultat.text =("Gennemgående") then
            TxtSPLo1Resultat.text = ("Gennemgående")
        else
            SPL1 = "Select Tekst from velcrolomme where " & txtAreal.text & " between Areal_fra and Areal_til and " & TxtSPLae1Resultat.text & " between Laengde_fra and Laengde_til;"
            ObjConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=test.mdb")
            ObjComm = New OleDbCommand(SPL1, objConn)
           
            ObjConn.Open()
            ObjRs = objComm.ExecuteReader()
           
            While ObjRs.Read()
            TxtSPLo1Resultat.text = objrs("tekst")
            End While
           
            ObjRs.Close()
            objConn.Close()
        end if
       
        SPL2 = "Select Tekst from velcrolomme where " & txtAreal.text & " between Areal_fra and Areal_til and " & TxtSPLae2Resultat.text & " between Laengde_fra and Laengde_til;"
       
        ObjConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=test.mdb")
        ObjComm = New OleDbCommand(SPL2, objConn)
       
        ObjConn.Open()
        ObjRs = objComm.ExecuteReader()
       
        While ObjRs.Read()
            TxtSPLo2Resultat.text = objrs("tekst")
        End While
       
        ObjRs.Close()
        objConn.Close()
       
        SPL3 = "Select Tekst from velcrolomme where (" & txtAreal.text & " between Areal_fra and Areal_til) and (" & TxtSPLae3Resultat.text & " between Laengde_fra and Laengde_til);"
       
        ObjConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=test.mdb")
        ObjComm = New OleDbCommand(SPL3, objConn)
       
        ObjConn.Open()
        ObjRs = objComm.ExecuteReader()
       
        While ObjRs.Read()
            TxtSPLo3Resultat.text = objrs("tekst")
        End While
       
        ObjRs.Close()
        objConn.Close()
       
        SPL4 = "Select Tekst from velcrolomme where " & txtAreal.text & " between Areal_fra and Areal_til and " & TxtSPLae4Resultat.text & " between Laengde_fra and Laengde_til;"
       
        ObjConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=test.mdb")
        ObjComm = New OleDbCommand(SPL4, objConn)
       
        ObjConn.Open()
        ObjRs = objComm.ExecuteReader()
       
        While ObjRs.Read()
            TxtSPLo4Resultat.text = objrs("tekst")
        End While
       
        ObjRs.Close()
        objConn.Close()
   
    end Sub
Avatar billede sjh Nybegynder
09. november 2005 - 21:13 #1
ved ikke lige om du kan bruge DISTINCT men prøv.. den viser kun forskellige.. dog ikke fra 4 forskellige felter.. men det er det jo heller ikke da dit felter hedder Tekst i de 4 sqller.. du viser..

SELECT DISTINCT Tekst FROM velcrolomme
Avatar billede sjh Nybegynder
09. november 2005 - 21:17 #2
fx. hvis du har der er 2 ord som hedder "ABE" og 4 ord som hedder "MUS" så vil du kun få:

ABE
MUS

du hvis du bruger ....DISTINCT Tekst....
Avatar billede stinejh1980 Nybegynder
10. november 2005 - 10:48 #3
Det er 4 forskellige tekster så jeg tror ikke den kan bruges
Avatar billede stinejh1980 Nybegynder
11. november 2005 - 14:43 #4
Jeg bruger bare det jeg har
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