Avatar billede mettecarsten Nybegynder
26. marts 2005 - 23:29 Der er 35 kommentarer og
1 løsning

Ændring af access forespørgselstabel til mysql

Hej eksperter

Jeg er ved at konvertere fra Access til Mysql. I access har jeg brugt en forespørgselstabel, hvor jeg har haft mulighed for at bruge "Sorter". I access, SQL-visning resulterede det i denne kode:

SELECT DISTINCTROW hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv
FROM Uge INNER JOIN hus ON Uge.Hus = hus.id
WHERE (((hus.IA) Is Null Or (hus.IA)=""))
ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;

Den går bare ikke i mysql!!!! Det er "ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;", som går galt.

Hvis jeg undlader at bruge "ORDER BY .." fremkommer det rigtige antal annoncer, f.eks. 10, men i forkert rækkefølge. Hvis jeg i stedet for bruger "ORDER BY hus.id" resulterer det i over 500 annoncer. Tabellen hus indeholder en sommerhusannonce, mens tabellen uge indeholder en udlejningskalender med 53 uger.

Hvordan kan jeg i relation til mysql bruge "order by" rigtigt? Kan jeg ændre noget i databasen?

På forhånd tak.
Avatar billede moejensen Nybegynder
27. marts 2005 - 09:43 #1
du kan ikke bruge DISTINCTROW i mySQL, så prøv bare at fjern det.
Avatar billede mettecarsten Nybegynder
27. marts 2005 - 11:33 #2
I min mysql-version har jeg faktisk også slettet "row" i "DISTINCTROW". Har også prøvet helt at slette "DISTINCTROW", men med samme resultat. Hele problemet ligger i "ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;". Hvis ikke det er indsat, fremkommer det helt rigtige antal annoncer, men hvis jeg indsætter ORDER .... tager den alle annoncer 53 gange (hver annonce har 53 linier i tabellen Uge, udlejningskalender). Hvordan kan jeg bruge order by rigtigt i forhold til mysql og inner join?
Avatar billede moejensen Nybegynder
28. marts 2005 - 13:36 #3
Hvad får du ud hvis du bare skriver:

SELECT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv
FROM Uge INNER JOIN hus ON Uge.Hus = hus.id
WHERE (hus.IA Is Null) OR (hus.IA ="")
ORDER BY Uge.Hus;
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 06:41 #4
Har nu prøvet, men hjælper desværre ikke
Avatar billede moejensen Nybegynder
29. marts 2005 - 09:22 #5
hvad får du ud?
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 12:04 #6
Denne fejl:


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

ODBC driver does not support the requested properties.

/testsgef2.asp, line 594
Avatar billede moejensen Nybegynder
29. marts 2005 - 12:10 #7
hvirlen driver bruger du?
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 12:15 #8
Tænker du på dette (min forbindelsesfil til databasen)?

<%
SQLserveradr="xxx"
SQLdatabase="xxx"
SQLlogin="xxx"
SQLpassword="xxx"

Set Conn = Server.CreateObject("ADODB.Connection")

conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

Conn.Open conStr
%>
Avatar billede moejensen Nybegynder
29. marts 2005 - 12:23 #9
det er nok ikke der fejlen ligger, hvis du allerede har andre sider der bruger databasen gennem den connection. prøv lige uden is Null

SELECT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv
FROM Uge INNER JOIN hus ON Uge.Hus = hus.id
WHERE hus.IA =""
ORDER BY Uge.Hus;
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 12:43 #10
Fortsat samme fejlmelding. Jeg har prøvet med flere varianter, som virker ok, men problemet ligger i, når jeg indsætter ORDER BY.
Avatar billede moejensen Nybegynder
29. marts 2005 - 12:50 #11
det virker bare underligt, for mysql har normalt ingen problemer med at håndtere ORDER BY, det er derfor jeg er lidt ude efter at få den til at virke bare med et felt i order by
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 13:06 #12
Prøv dette link:

http://www.dansksommerhusudlejning.dk/test.asp

Hvis du klikker på område 1, vises resultaterne jo fint - med denne sql:

SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
"FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
"WHERE (((hus.IA) Is Null Or (hus.IA)= '')) "

Hvis jeg indsætter ORDER BY, så koden er:

SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
"FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
"WHERE (((hus.IA) Is Null Or (hus.IA)= '')) " & _
"ORDER BY hus.id "

kan du ved klik på område 2 se, at den viser den 10.962 annoncer !

Jeg håber, at dette giver et bedre indblik. Vírkelig på forhånd tak for hjælpen :-)
Avatar billede moejensen Nybegynder
29. marts 2005 - 13:13 #13
det er mig godt nok en gåde.
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 13:15 #14
Også her !!!
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 13:16 #15
Du får lige hele sidens koder, hvis det kan hjælpe:

<html>
<!--#include file="forb.asp"-->
<head>
<title>Dansksommerhusudlejning.dk</title>
<META name="DESCRIPTION" content="Vi formidler den private sommerhusudlejning. Brug vores søgefunktion eller vælg område for at vælge blandt de over 200 private sommerhuse">
<META name="KEYWORDS" content="ferie, feriebolig, ferieboliger, bureauer, sommerhusbureauer, sommerhus, sommerhuse, sommerhusudlejning, sommerhusferie, fritidsbolig, leje, udleje, udlejning, Danmark, ferien, ferienhaus, ferienhäuser, Dänemark, Denmark, summerhouse, sommerhaus, vermietung, sommerhausvermietung, ferienwohnung, ferienwohnungen, luxusferienhaus, luxusferienhäuser, spahaus, swimmingpoolhaus">
<style>
    <!--
    a{text-decoration:none}
    //-->
</style>
<style fprolloverstyle>A:hover {color: #E87400; font-weight: bold}</style>
</head>

<body background="stribet_graa.gif" link="#000000" vlink="#000000" alink="#000000">

<p align="left">

<%

    '//Paging funktion
    Function Page(iStart, total, iOffset, iStop)
       
        Response.Write "<table border=0 width='100%'><tr>"
       
        If iStart > 0 then
          'Vis Forrige link
          Response.Write "<td width='20%' align='left'><font face='Arial' size=""3""><A HREF=""?iStart=" & iStart-iOffset & _
                        "&iOffset=" & iOffset & """>Forrige</A></font></td>"
        Else
          Response.Write "<td width='20%'>&nbsp;</td>"
        End if
                   
        antalsider = total / iOffset
       
        Response.Write "<td width='60%' align='center'><font face='Arial' size=""3"">"
            For i = 0 to antalsider
                If Clng(i * iOffset) = Clng(iStart) then
                    Response.Write "<A HREF=""?iStart=" & iOffset * i & _
                                "&iOffset=" & iOffset & """><u>" & i + 1 & "</u> </A>"
                Else
                    Response.Write "<A HREF=""?iStart=" & iOffset * i & _
                                "&iOffset=" & iOffset & """>" & i + 1 & " </A>"
                End if               
            Next
        Response.Write "</font></td>"
       
        If iStop < total then
          'Vis næste link
          Response.Write "<td width='20%' align='right'><font face='Arial' size=""3""><A HREF=""?iStart=" & iStart+iOffset & _
                        "&iOffset=" & iOffset & """>Næste</A></font></td>"
        Else
          Response.Write "<td width='20%'>&nbsp;</td>"                       
        End if
    End Function
   
    Sub SkrivHusTabel(id, HusLink, overskrift, annoncetekst)
        With Response
            .Write "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""400"" height=""66"" style='border: 1 solid #000000'>"
            .Write "<tr>"
            .Write "<td valign=""middle"" align=""center"" width=""100"" style='border-right: 1 solid #000000'>"

            if Len(HusLink) = 0 Then
                .Write "<a href=""#"" onClick=""MyWindow=window.open('Hus.asp?Id=" & id & "','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=620'); return false;""><img border=""0"" alt='" & overskrift & "' title='" & overskrift & "' src=""" & foto4 & """ width=""100"" height=""66""></a>"
            Else
                .Write "<A HREF ='" & HusLink & "' TARGET=""_blank""><img border=""0"" alt='" & overskrift & "' title='" & overskrift & "' src=""" & foto4 & """ width=""100"" height=""66""></a>"
            end if

            .Write "</td>"
            .Write "<td valign=""top"" align=""left"" width=""240"" style='padding-left: 3; padding-right: 3; padding-top: 2'>"
            .Write "<p align=""left"">"
            .Write "<font face=""Arial"" size=""3""><b>" & overskrift & "</b></font><br>"
            .Write "<font face=""Arial"" size=""2"">" & annoncetekst & "</font>"
            .Write "</p>"
            .Write "</td>"
            .Write "<td valign=""middle"" align=""center"" width=""60"" bgcolor=""#DFDFDF"" style='border-left: 1 solid #000000'>"

            if Len(HusLink) = 0 Then
                Response.write "<a href=""#"" alt='" & overskrift & "' title='" & overskrift & "' onClick=""MyWindow=window.open('Hus.asp?Id=" & id & "','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=620'); return false;""><font face=""Arial"" color=""#E87400"" size=""3""><b>Info</b></font></a>"
            Else
                Response.write "<A HREF ='" & HusLink & "' TARGET=""_blank"" alt='" & overskrift & "' title='" & overskrift & "'><font face='Arial' color='#E87400' size='3'><b>Info</b></font></a>"
            end if
           
            .Write "</td></tr></table>"
        End With
    End Sub

    Response.Expires = -1

    Pris = Request.QueryString("Pris")
    Spa = Request.QueryString("Spa")
    Vaske = Request.QueryString("Vaske")
    Pool = Request.QueryString("Pool")
    OP = Request.QueryString("Op")
    Hus = Request.QueryString("Hus")
    Bo = Request.QueryString("Bo")

    ap = Request.QueryString("AP")
   
    if ap = "Uvæsentlig" Then ap = 1 End if
    if ap = "over 8" Then ap = 8 End if

    uge = Request.QueryString("Uge")
    if uge = "Uvæsentlig" then uge = 0 End if

    amtfl = 0
    alle = Request.QueryString("alle")
    if alle = "ON" Then amtfl = 1 end if

    o1 = Request.QueryString("o1")
    if o1 = "ON" Then amtfl = 1 end if

    o2 = Request.QueryString("o2")
    if o2 = "ON" Then amtfl = 2 end if

    o3 = Request.QueryString("o3")
    if o3 = "ON" Then amtfl = 3 end if

    o4 = Request.QueryString("o4")
    if o4 = "ON" Then amtfl = 4 end if

    o5 = Request.QueryString("o5")
    if o5 = "ON" Then amtfl = 1 end if

    o6 = Request.QueryString("o6")
    if o6 = "ON" Then amtfl = 1 end if

    o7 = Request.QueryString("o7")
    if o7 = "ON" Then amtfl = 1 end if

    o8 = Request.QueryString("o8")
    if o8 = "ON" Then amtfl = 1 end if

    o9 = Request.QueryString("o9")
    if o9 = "ON" Then amtfl = 1 end if

    o10 = Request.QueryString("o10")
    if o10 = "ON" Then amtfl = 1 end if

    o11 = Request.QueryString("o11")
    if o11 = "ON" Then amtfl = 1 end if

    o12 = Request.QueryString("o12")
    if o12 = "ON" Then amtfl = 1 end if

    o13 = Request.QueryString("o13")
    if o13 = "ON" Then amtfl = 1 end if

    o14 = Request.QueryString("o14")
    if o14 = "ON" Then amtfl = 1 end if

    o15 = Request.QueryString("o15")
    if o15 = "ON" Then amtfl = 1 end if

    o16 = Request.QueryString("o16")
    if o16 = "ON" Then amtfl = 1 end if

    o17 = Request.QueryString("o17")
    if o17 = "ON" Then amtfl = 1 end if

    o18 = Request.QueryString("o18")
    if o18 = "ON" Then amtfl = 1 end if

    o19 = Request.QueryString("o19")
    if o19 = "ON" Then amtfl = 1 end if

    o20 = Request.QueryString("o20")
    if o20 = "ON" Then amtfl = 1 end if

    o21 = Request.QueryString("o21")
    if o21 = "ON" Then amtfl = 1 end if

    o22 = Request.QueryString("o22")
    if o22 = "ON" Then amtfl = 1 end if

    o23 = Request.QueryString("o23")
    if o23 = "ON" Then amtfl = 1 end if

    o24 = Request.QueryString("o24")
    if o24 = "ON" Then amtfl = 1 end if

    o25 = Request.QueryString("o25")
    if o25 = "ON" Then amtfl = 1 end if

    o26 = Request.QueryString("o26")
    if o26 = "ON" Then amtfl = 1 end if

    o27 = Request.QueryString("o27")
    if o27 = "ON" Then amtfl = 1 end if

    o28 = Request.QueryString("o28")
    if o28 = "ON" Then amtfl = 1 end if

    o29 = Request.QueryString("o29")
    if o29 = "ON" Then amtfl = 1 end if

    If (amtfl = 0 and session("fl2") = 0) then
        Response.Redirect("intetamt.asp")
        Response.end
    End if

    '---------------------
    'PAGING VARIABLE START
    '---------------------
    Dim iStart, iOffset
    iStart = Request.QueryString("iStart")
   
    'iOffset angiver hvor mange huse pr. side
    iOffset = 4 'denne kan lægges ud til brugeren at bestemme hvormange han/hun gerne vil have vist pr. side.

    If Not IsNumeric(iStart) Or Len(iStart) = 0 Or iStart < 0 then
        iStart = 0
    Else
        iStart = CInt(iStart)
    End if

    If Not IsNumeric(iOffset) or Len(iOffset) = 0 then
        iOffset = 4
    Else
        iOffset = CInt(iOffset)
    End if

    '--------------------
    'PAGING VARIABLE SLUT
    '--------------------

    fl = 0

    if session("fl2") = 1 Then
        sql = session("SQL")
    Else
        SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
              "FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
              "WHERE (((hus.IA) Is Null Or (hus.IA)= '')) " & _
              "ORDER BY hus.id "

        if not uge = "Uvæsentlig" Then
            sql = sql & " AND uge = " & uge & " "
        End if

        if Antalp = "Uvæsentlig" then
            sql = sql & " AND Antalp >" & 1 & " "
        Else
            sql = sql & "AND Antalp >=" & AP & " "
        end if

        if not Pris = "Uvæsentlig" then
            sql = sql & "AND pris1 <=" & Pris & " "
        end if

        if not alle = "ON" Then
            sql = sql & " AND("
        End if

        if o1 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o1'"
                fl = 1
            else
                sql = sql & "or amt = 'o1'"
                fl = 1
            End if
        End if

        if o2 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o2'"
                fl = 1
            else
                sql = sql & "or amt = 'o2'"
                fl = 1
            End if
        End if

        If o2 = "ON" Then
            If fl = 0 then
                sql = sql & " OR amt = 'o2'"
                fl = 1
            Else
                sql = sql & "OR amt = 'o2'"
                fl = 1
            End if
        End if

        if o3 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o3'"
                fl = 1
            else
                sql = sql & "or amt = 'o3'"
                fl = 1
            End if
        End if

        if o4 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o4'"
                fl = 1
            else
                sql = sql & "or amt = 'o4'"
                fl = 1
            End if
        End if

        if o5 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o5'"
                fl = 1
            else
                sql = sql & "or amt = 'o5'"
                fl = 1
            End if
        End if

        if o6 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o6'"
                fl = 1
            else
                sql = sql & "or amt = 'o6'"
                fl = 1
            End if
        End if

        if o7 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o7'"
                fl = 1
            else
                sql = sql & "or amt = 'o7'"
                fl = 1
            End if
        End if

        if o8 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o8'"
                fl = 1
            else
                sql = sql & "or amt = 'o8'"
                fl = 1
            End if
        End if

        if o9 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o9'"
                fl = 1
            else
                sql = sql & "or amt = 'o9'"
                fl = 1
            End if
        End if

        if o10 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o10'"
                fl = 1
            else
                sql = sql & "or amt = 'o10'"
                fl = 1
            End if
        End if

        if o11 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o11'"
                fl = 1
            else
                sql = sql & "or amt = 'o11'"
                fl = 1
            End if
        End if

        if o12 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o12'"
                fl = 1
            else
                sql = sql & "or amt = 'o12'"
                fl = 1
            End if
        End if

        if o13 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o13'"
                fl = 1
            else
                sql = sql & "or amt = 'o13'"
                fl = 1
            End if
        End if

        if o14 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o14'"
                fl = 1
            else
                sql = sql & "or amt = 'o14'"
                fl = 1
            End if
        End if

        if o15 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o15'"
                fl = 1
            else
                sql = sql & "or amt = 'o15'"
                fl = 1
            End if
        End if

        if o16 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o16'"
                fl = 1
            else
                sql = sql & "or amt = 'o16'"
                fl = 1
            End if
        End if

        if o17 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o17'"
                fl = 1
            else
                sql = sql & "or amt = 'o17'"
                fl = 1
            End if
        End if

        if o18 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o18'"
                fl = 1
            else
                sql = sql & "or amt = 'o18'"
                fl = 1
            End if
        End if

        if o19 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o19'"
                fl = 1
            else
                sql = sql & "or amt = 'o19'"
                fl = 1
            End if
        End if

        if o20 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o20'"
                fl = 1
            else
                sql = sql & "or amt = 'o20'"
                fl = 1
            End if
        End if

        if o21 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o21'"
                fl = 1
            else
                sql = sql & "or amt = 'o21'"
                fl = 1
            End if
        End if

        if o22 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o22'"
                fl = 1
            else
                sql = sql & "or amt = 'o22'"
                fl = 1
            End if
        End if

        if o23 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o23'"
                fl = 1
            else
                sql = sql & "or amt = 'o23'"
                fl = 1
            End if
        End if

        if o24 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o24'"
                fl = 1
            else
                sql = sql & "or amt = 'o24'"
                fl = 1
            End if
        End if

        if o25 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o25'"
                fl = 1
            else
                sql = sql & "or amt = 'o25'"
                fl = 1
            End if
        End if

        if o26 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o26'"
                fl = 1
            else
                sql = sql & "or amt = 'o26'"
                fl = 1
            End if
        End if

        if o27 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o27'"
                fl = 1
            else
                sql = sql & "or amt = 'o27'"
                fl = 1
            End if
        End if

        if o28 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o28'"
                fl = 1
            else
                sql = sql & "or amt = 'o28'"
                fl = 1
            End if
        End if

        if o29 = "ON" Then
            if fl = 0 then
                sql = sql & "amt = 'o29'"
                fl = 1
            else
                sql = sql & "or amt = 'o29'"
                fl = 1
            End if
        End if

        if not Alle = "ON" Then
            sql = sql & ")"
        End if

        Session("fl2") = 1
    End if

    if Spa = "ON" Then
        sql = sql & "and (spa = 'checked')"
    End if

    if Pool = "ON" Then
        sql = sql & "and (Pool = 'checked')"
    End if

    if Vaske = "ON" Then
        sql = sql & "and (Vaske = 'checked')"
    End if

    if OP = "ON" Then
        sql = sql & "and (Opvask = 'checked')"
    End if

    if Hus = "ON" Then
        sql = sql & "and (Husdyr = 'checked')"
    End if

    if Bo = "ON" Then
        sql = sql & " and (Brovn = 'checked')"
    End if
   
    sql = sql & " and (Ledigt = 'checked')"

    'smider lige sql'en i en session
    Session("SQL") = sql

    'Åben basen
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objrs.open sql, conn, 1, 3

    If objrs.EOF And objrs.BOF Then
        Response.Redirect "ingenposter.asp"
    End if
   
    arrayHuse = objRS.GetRows()
   
    total = Ubound(arrayHuse, 2) 'totalt antal af huse indenfor kriterierne
%>
    <p align="left"><!-- #include virtual="overstemenu.asp"--></p>
    <p align="center">
    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="740" height="450" bordercolor="#000000">
    <tr>
    <td valign="top" align="left" width="125" height="428"> <!-- #include virtual="venstremenu.asp"--> </td>
    <td valign="top" align="left" width="490" height="428"> <div align="center">
    <table border="0" cellpadding="0" cellspacing="0" width="425" height="440" style="border: 1 solid #132537" bgcolor="#FFFFFF">
    <tr>
    <td height="421" valign="top" align="left" style="padding-left: 10; padding-right: 10; padding-top: 5"> </center>
    <div align="center">
<%
   
    '----------------
    ' start paging
    '----------------
    dim iStop
   
    If total + 1 > (iOffset + iStart) Then
        iStop = iOffset + iStart - 1
    Else
        iStop = total
    End If
   
    'alle numre er minus 1
    '(1)hus.Overskrift
    '(2)hus.Op
    '(3)hus.Antalp
    '(4)Uge.Hus
    '(5)Uge.uge
    '(6)Uge.Ledigt
    '(7)Uge.Pris1
    '(8)Uge.Pris2
    '(9)Uge.Lm
    '(10)Uge.Pris3
    '(11)Uge.Pris4
    '(12)hus.Grundareal
    '(13)hus.Husets
    '(14)hus.Vr
    '(15)hus.Afi
    '(16)hus.Ass
    '(17)hus.Parabol
    '(18)hus.Stereo
    '(19)hus.Telefon
    '(20)hus.tv
    '(21)hus.Video
    '(22)hus.Barnestol
    '(23)hus.Kedel
    '(24)hus.emh
    '(25)hus.Fryser
    '(26)hus.Kaffe
    '(27)hus.Komfur
    '(28)hus.kl
    '(29)hus.Micro
    '(30)hus.Opvask
    '(31)hus.Bruser
    '(32)hus.Sauna
    '(33)hus.Sol
    '(34)hus.Spa
    '(35)hus.Brovn
    '(36)hus.El
    '(37)hus.Husdyr
    '(38)hus.Pool
    '(39)hus.Stsuger
    '(40)hus.Tumbler
    '(41)hus.Vaske
    '(42)hus.Carport
    '(43)hus.Cykler
    '(44)hus.Grill
    '(45)hus.Have
    '(46)hus.Terrasse
    '(47)hus.Foto
    '(48)hus.Beskr
    '(49)hus.Ejer
    '(50)hus.Ann
    '(51)hus.Amt
    '(52)hus.Lann
    '(53)hus.Link
    '(54)hus.IA
    '(55)hus.Rk
    '(56)hus.id
    '(57)hus.tann
    '(58)hus.tbeskriv
    '(59)hus.eann
    '(60)hus.ebeskriv
       
    For i = iStart to iStop
       
        amt = Right(arrayHuse(50, i), Len(arrayHuse(50, i)) - 1) 'klipper områdenummeret til således "O"'et forsvinder
       
        id = arrayHuse(55, i)
        HusLink = arrayHuse(52, i)
        overskrift = Server.HTMLEncode(arrayHuse(0, i))
        annoncetekst = Server.HTMLEncode(arrayHuse(49, i))
       
        foto4 = id & "/1.jpg"
       
        'skriver tabellen med et item (hus)
        Call SkrivHusTabel(id, HusLink, overskrift, annoncetekst)
       
        'mellemrum mellem tabellerne
        Response.Write "<br>"
    Next
   
    Response.write "</P>"
       
    'skriver pagingen altså side 1 2 3 4 osv.
    'variablerne brugt er iStart = starttallet for siden, total = antallet af items, iOffset = items pr. side
    'iStop = hvor langt skal der vises til
    Call Page(iStart, total, iOffset, iStop)
   
    'skriver total antallet af huse i området
    Response.Write "</tr><tr><td colspan='3'><font face='Arial' size=""3"">" & total + 1 & " sommerhuse ialt</font></td></tr></table>"
%>
</div>
</td>
</tr>
</table>
</div>
</td>
<td valign="top" align="left" width="125" height="428">
<!-- #include virtual="hojremenu.asp"-->
</td>
</tr>
</table>
</div>
</body>
</html>
Avatar billede moejensen Nybegynder
29. marts 2005 - 13:29 #16
det der undre mig er at der ikke i denne sætning, der virker, er noget sted hvor du viser at der er tale om distrekt 1

SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
"FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
"WHERE (((hus.IA) Is Null Or (hus.IA)= '')) "
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 13:32 #17
Området bestemmes direkte i linket eller gennem markering i søgefunktionen. Området ligger i hus.amt.
Avatar billede moejensen Nybegynder
29. marts 2005 - 14:11 #18
så uanset hvilket område man vælger, så henter den samtlige huse ud?
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 14:18 #19
Ja - henter dem ud ca. 54 gange hver. Hver annonce har 54 linier i tabellen Uge (udlejningskalender)
Avatar billede moejensen Nybegynder
29. marts 2005 - 14:36 #20
Hvis jeg læser din kode rigtigt, så ser det ud som om du sætter en masse AND sætninger på din sqlstreng, er det rigtigt?

Ken du ikke lige prøve at skrive din sql streng ud, ved at skrive følgende:

'objrs.open sql, conn, 1, 3
response.write sql
response.end

Det burde selvfølgelig ikke være der problemet er, hvis det virker med access, men man kan jo aldrig vide.
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 14:53 #21
Jeg har ikke selv lavet kodningen, så jeg ved ikke helt med på det med AND!

Strengen ser sådan ud:

SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (((hus.IA) Is Null Or (hus.IA)= '')) ORDER BY hus.id AND uge = 0 AND Antalp >=1 AND(amt = 'o1') and (Ledigt = 'checked')

Findes ved klik på område 2
Avatar billede moejensen Nybegynder
29. marts 2005 - 14:56 #22
så er det mere klart hvor for du får problemer din ORDER BY kommer jo til at se således ud:

ORDER BY hus.id AND uge = 0 AND Antalp >=1 AND(amt = 'o1') and (Ledigt = 'checked')

alt efter hus.id burde jo stå i din WHERE sætning

Virkede det i ACCESS?
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 15:01 #23
Det var kodet anderledes i access. Her brugte jeg en forespørgselstabel, hvor koden så således ud:

<%
fl = 0
if session ("fl2") = 1 Then
SQL = session("SQL")

Else
Sql = ""
Sql = "Select id, foto, op, antalp, grundareal, vr, Beskr, ann, Overskrift, amt, uge, link, Ledigt From hus2 where "
if uge = "Uvæsentlig" Then
sql = sql
Else
sql = sql & "  uge = " & uge & " "
End if
if Antalp = "Uvæsentlig" then
sql = sql & "Antalp >" & 1 & " "
Else
sql = sql & "and Antalp >=" & AP & " "
end if
if Pris = "Uvæsentlig" then
'sql = sql & "and Pris1 <=" & 0 & " "
Else

sql = sql & "and pris1 <=" & Pris & " "

end if

...
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:02 #24
for at afhjælpe dit problem, skal du prøve at gøre følgende:

Ret din sql til følgende:

SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
              "FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
              "WHERE hus.IA Is Null OR hus.IA= '' "

Derefter skriver du følgendde lige over der hvor du eksekvere din sql streng:

sql = sql & " ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;"
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:04 #25
hvis det fejler, så prøv lige at skriv din sql ud igen, som du gjorde sidst.
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 15:09 #26
Jeg må blankt indrømme, at jeg ikke helt ved, hvor sql-strengen eksekveres?
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:15 #27
det gør den her:

objrs.open sql, conn, 1, 3
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 15:18 #28
Det var faktisk også, hvad jeg efterfølgende har prøvet, så linierne er:

    objrs.open sql, conn, 1, 3
    sql = sql & " ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;"

Det ændrer bare ikke ved noget. Hvis du prøver at klikke på område 18 på http://www.dansksommerhusudlejning.dk/test.asp skal annonce nr. 4 f.eks. være til aller sidst, da højeste id-nr.
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 15:18 #29
Strengen er:

SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (((hus.IA) Is Null Or (hus.IA)= '')) AND uge = 0 AND Antalp >=1 AND(amt = 'o18') and (Ledigt = 'checked') ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:20 #30
du skulle også skrive det lige over der hvor du eksekvere koden :-)

det hjælper jo ikke noget at rette din sql efter du har eksekveret den:

sql = sql & " ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;"
objrs.open sql, conn, 1, 3
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:21 #31
og så kan jeg se du ikke har rettet den første SQL streng til jeg skrev.
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:23 #32
du kan også rette den til:

SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (hus.IA Is Null) OR (hus.IA = '')
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 15:24 #33
Jeg prøvede først at rette til din foreslåede streng, men det gav 220 annoncer i stedet for de rigtige 6 - derfor prøvet at rette tilbage.

Det er vist også lige meget for jeg tror at det virker :-) :-) :-) :-) :-) Tester lige lidt mere

Din hjælp har virkelig været helt suveræn
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:29 #34
jeg venter med spænding.
Avatar billede mettecarsten Nybegynder
29. marts 2005 - 15:31 #35
Det virker :-)

Det er virkelige super. Igen mange tak for hjælpen.
Avatar billede moejensen Nybegynder
29. marts 2005 - 15:35 #36
Det er godt at høre.

Det var så lidt.

Tak 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