Avatar billede dolly Nybegynder
04. november 2003 - 13:44 Der er 14 kommentarer og
1 løsning

Alfabetisk problem

Er der en, der kan fortælle mig, hvordan jeg kan lave det anderledes, når jeg kalder fra min DB og ønsker overskrifterne i albetisk rækkefølge, at den ikke laver ø til o, å til a og æ til a i den viste rækkefølge.
Jeg bruger p.t. følgende string;

strSQL = "Select * from opskrifter order by nick asc"

På forhånd tak!
//D
Avatar billede kovalt Nybegynder
04. november 2003 - 13:49 #1
jeg kunne forestille mig det er fordi du bruger en engelsk version af din DB... jeg ved ikke lige hvordan man kan ændre det.

Måske det hjælper hvis du skriver

session.lcid = 1030

i toppen af dit ASP-dokument.

/Kovalt
Avatar billede dolly Nybegynder
04. november 2003 - 14:03 #2
Tror du har ret i, det har noget med den engelske version at gøre. Jeg har prøvet at indsætte den linie, du foreslog men der sker ikke noget. Mit scrip ser sådan ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Systematics k&oslash;kken</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url(test/systematic.css);
-->
</style>
<style>
BODY {    SCROLLBAR-FACE-COLOR: #ffffff;
          SCROLLBAR-HIGHLIGHT-COLOR: #ff0000;
          SCROLLBAR-SHADOW-COLOR: #cccccc;
          SCROLLBAR-3DLIGHT-COLOR: #DFDFDF;
          SCROLLBAR-ARROW-COLOR: #ff0000;
          SCROLLBAR-TRACK-COLOR: #ffffff;
          SCROLLBAR-DARKSHADOW-COLOR: #ffffff
}
</style>
<style type="text/css">
<!--
@import url("systematic.css");
-->
</style>
</head>

<body class="overskrifter">
<table width="680" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="80"><img src="grafik/trans.gif" width="80" height="30"></td>
    <td colspan="2"></td>
  </tr>
  <tr>
    <td></td>
    <td width="240" valign="top" class="overskrifter"><table width="93%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><img src="grafik/overskrifter/opskrifter.gif" width="240" height="24"></td>
        </tr>
        <tr>
          <td><img src="grafik/trans.gif" width="6" height="15"></td>
        </tr>
      </table></td>
    <td width="360" valign="top" class="overskrifter"><form name="form1" method="post" action="search.asp">
        <div align="right">
          <input type="text" name="Keyword" size="30">
          <input type="submit" value="s&oslash;g opskrift" name="Action">
        </div>
      </form></td>
  </tr>
  <tr>
    <td></td>
    <td colspan="2" valign="top" class="broedtxt">
   
   
   
   
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td> <span class="overskrifter">
<%
session.lcid = 1030

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("users.mdb")
Conn.Open DSN

' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift
strSQL = "Select * from opskrifter order by nick asc"

' Udfør forespørgsel (objRec indeholder nu resultatet)
Set objRec = Conn.Execute(strSQL)

do while not objRec.eof

comment = Replace(objrec("text"), vbCrLf, "<BR>")

response.write "<table border=""1"" bordercolor=""#cccccc"" width=""550"" cellpadding=""20"" cellspacing=""3""><tr><td bordercolor=""#cccccc"">"
response.write "<table width=""550"" align=""center"" cellpadding=""0"" cellspacing=""0""><tr class=""broedtxt"">"
response.write "<span class=""mellemoverskrift"">" & objrec("nick") & "</span>"
response.write "</td><td align=""right"" background=""system/td_back.gif"">"
response.write "</td></tr>"
response.write "<tr><td colspan=""2"">"
response.write "<table class=""broedtxt"" cellpadding=""0"" cellspacing=""0"" width=""100%""><tr><td>"
response.write comment
response.write "</td></tr></table>"
response.write "</td></tr>"
response.write "<tr class=""datotidDB""><td background=""system/td_back2.gif"">"
response.write "date: " & objrec("dato")
response.write "</td><td align=""right"" background=""system/td_back2.gif"">"
response.write "time: " & objrec("tid")
response.write "</td></tr></table>"
response.write "</td></tr></table>"
response.write "<br><br>"
objRec.movenext
loop

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

%>
            </span> </td>
        </tr>
      </table></td>
  </tr>
</table>
</body>
</html>
Avatar billede kovalt Nybegynder
04. november 2003 - 14:39 #3
Jeg tror ikke der er noget at gøre så længe du kører med en engelsk DB.

Man kan selvfølgelig selv lave en bobbelsortering af recordsettet efter det er trukket ud af DB...... men har desværre ikke noget eksempel lige ved hånden

/Kovalt
Avatar billede dolly Nybegynder
04. november 2003 - 14:45 #4
Æv, men okay...jeg håber, der snarest er en anden, der måske kan hjælpe?
Avatar billede dolly Nybegynder
04. november 2003 - 14:55 #5
Jeg har været inde og checke, at min DB står til norsk/dansk og det gør den.
Avatar billede kovalt Nybegynder
04. november 2003 - 15:03 #6
hvor har du sat Access til danks/norsk?
Avatar billede dolly Nybegynder
04. november 2003 - 15:09 #7
Okay, nu har jeg delvis fået skidtet til at fungere, da jeg reloadede min DB efter jeg igen havde sat den til norsk/dansk, men...

jeg har stadig et problem med denne side, hvor den overhovedet ikke vil vise overskrifterne i hverken engelsk eller dansk alfabetisk orden.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Systematics homekitchen</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--



function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>
<style>@import url("systematic.css");

BODY {    SCROLLBAR-FACE-COLOR: #ffffff;
          SCROLLBAR-HIGHLIGHT-COLOR: #ff0000;
          SCROLLBAR-SHADOW-COLOR: #cccccc;
          SCROLLBAR-3DLIGHT-COLOR: #DFDFDF;
          SCROLLBAR-ARROW-COLOR: #ff0000;
          SCROLLBAR-TRACK-COLOR: #ffffff;
          SCROLLBAR-DARKSHADOW-COLOR: #ffffff
}
</style>
<style type="text/css">
<!--
.link {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FF0000;
    text-decoration: none;
}
a:hover {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #CCCCCC;
    text-decoration: none;
}
-->
</style>
</head>

<body>
<table width="680" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="80"><img src="grafik/trans.gif" width="80" height="30" border="0"></td>
    <td colspan="2"></td>
  </tr>
  <tr>
    <td></td>
    <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><img src="grafik/overskrifter/sogeresultat.gif" width="397" height="24"></td>
        </tr>
        <tr>
          <td><img src="grafik/trans.gif" width="6" height="15"></td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td></td>
    <td colspan="2" valign="top""> <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td valign="top" class="link">
                  <%
' Henter værdien fra opskrifter.asp
strKeyword = Trim(Request.Form("Keyword"))

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


' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, nick, text, dato, tid, id FROM opskrifter WHERE"
strSQL = strSQL & " (nick LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (text LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (dato LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (tid LIKE '%" & strKeyword & "%')"


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

' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift i min DB
sql = "select * from opskrifter where id = " & request.querystring("id") & " order by nick asc"

' 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 "<table border=0>"
    Do While Not rs.EOF

    response.write "<tr>"
    response.write "<td class=""link""><a href='show.asp?id=" & rs("id") & "'>" & rs("nick") & "</a>"
    response.write "</td></tr>"
   
    rs.MoveNext
    Loop
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p><span class=""broedtxt"">Beklager, der er desværre intet resultat på søgningen!</span></p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>
                </td>
              </tr>
            </table></td>
        </tr>
      </table></td>
  </tr>
</table>

</body>
</html>
Avatar billede kovalt Nybegynder
04. november 2003 - 15:11 #8
er din SQL helt tom eller er det kun overskriften den ikke vil komme med?

/Kovalt
Avatar billede dolly Nybegynder
04. november 2003 - 15:15 #9
Hvad mener du med, om min SQL er helt tom? Den kommer frem med overskrifterne, men de vises i den rækkefølge, de er tastet ind, hvor jeg ønsker dem i dansk alfabetiskorden.
Avatar billede kovalt Nybegynder
04. november 2003 - 15:27 #10
Du har heller ikke noget ORDER BY i din dynamiske SQL-sætning:

strSQL = "SELECT ID, nick, text, dato, tid, id FROM opskrifter WHERE"
strSQL = strSQL & " (nick LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (text LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (dato LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (tid LIKE '%" & strKeyword & "%')"

/Kovalt
Avatar billede kovalt Nybegynder
04. november 2003 - 15:28 #11
du har den her:

sql = "select * from opskrifter where id = " & request.querystring("id") & " order by nick asc"

Men efter hvad jeg lige kan se så bruger du den ikke - du bruger den ovenfor

/Kovalt
Avatar billede dolly Nybegynder
04. november 2003 - 15:30 #12
Og hvad er det, du siger med det? Jeg er nok ikke mega hardcore til asp, så du må gerne skære det lidt ud, hvis du gider?
Avatar billede kovalt Nybegynder
04. november 2003 - 15:32 #13
i den her linie:

Set rs = myConn.Execute(strSQL)

eksekverer du den streng der hedder strSQL (som ikke indeholder en ORDER BY) den SQL-streng som indeholder en ORDER BY hedder sql - men den bruger du ikke

/kovalt
Avatar billede dolly Nybegynder
04. november 2003 - 15:40 #14
Jeg tager hatten af for din indsats og tålmodighed, Kovalt...men jeg synes, jeg har prøvet mange ting, uden det virker. Kunne du ikke tage fat i mine koder ovenfor og ændrer det, du mener, der skal til?

//D
Avatar billede dolly Nybegynder
05. november 2003 - 22:08 #15
Spm lukket!!
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