22. august 2001 - 23:23Der er
19 kommentarer og 1 løsning
Sortering efter dato....
Jeg har lavet en asp side, hvor der i forskellige tabeller (afhæning af en pulje) er en turneringsoversigt. Hver tabel skal gerne sorteres efter dato, men det vil ikke rigtig lykkedes.
Jeg har prøvet med forskellige datoformater i access, men så får jeg en fejl i linien: rs.Open(sql, Conn, adOpenKeyset);
Faktisk har jeg fået den til at sortere, men så ser formatet således ud i tabellen: Sat Sep 25 00:00:00 UTC+0200 1999 - og det vil jeg gerne undgå.
Er der nogen der kan hjælpe - beklager der er klippet så meget kode ind, men jeg ved ikke hvad der skal bruges for at finde fejlen - er temmelig ny i asp.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
det ser ud som om, at du connecter til DB 2 gange, og at det er derfor, du få den fejlmedd. Prøv at lave din connection simpel: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath (\"/turnering.mdb\") Conn.Open DSN
Set objRS = Conn.Execute(\"SELECT * FROM turneringstabel ORDER BY Dato\") %>
Denne connection virker hos mig, så prøv den, men meld gerne tilbage, for ellers er det måske indlæsningen, der er noget galt med
Jeg får følgende fejl ved at indsætte #: Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) ODBC-driver understøtter ikke de ønskede egenskaber. /badmintondatabase/kampe.asp, line 36
Og den nye connection melder følgende fejl Tegnet \';\' var ventet /badmintondatabase/kampe1.asp, line 27, column 4 Set Conn = Server.CreateObject(\"ADODB.Connection\"); ---^
Jeg kan ikke lige se hvor den vil have et ; henne.
Øverst på min side har jeg følgende linier indsat hvis det kan have nogen betydning: <%@ Language=JavaScript%> <!---#include file=\"adojavas.inc\"-->
Ovenstående connection VIRKER, når du har angivet language til VBScript! Hvis det stadig ikke virker hos dig, så check lige \"Regional Settings\"/\"International\" på din pc. Det KAN have indflydelse, hvis nogle af standarderne er skiftet
når jeg ændrer det til vbscript så kommer der en masse andre fejl, hvor den bl.a. hele tiden siger \"slut på sætning var ventet\". Hvad skal man så gøre?
Tja, det er fordi jeg lige havde brugt den samme kode til en anden side - men der skulle ikke sorteres noget, så det virkede fint. Og så er jeg temmelig (for ikke at sige helt) ny indenfor asp etc. så jeg ved ikke helt hvilke koder der rent faktisk hører til hvad af det jeg har.
Men hvis der er nogen der ud fra det kode jeg har lagt ud her kan fortælle hvad jeg så evt. skal fjerne for at det kun er ASP, så prøver jeg da gerne det.
Hvad kan man gøre for at ændre dato formatet så der i stedet for Sat Feb 26 00:00:00 UTC+0100 2000
bare står 26/2-2000
Jeg har ændret det i access, men det duer ikke rigtigt. Jeg kan godt order by \"alle de andre\" - bare ikke dato som den gerne skal. Er det fordi det ikke er tekst i databasen som de andre felter?
Hvordan undgår man at der står \"null\" i en tabel, bare fordi der er et tomt hul i databsen? Kan det ikke bare efterlades blankt?
Jeg har nu indsat følgende linier i min kode: date = new Date (String(rs.fields.item(\"dato\"))); pulje55 += \"<td>\" + date.toLocaleString() + \"</td>\";
Så nu står datoen sådan her: 26. september 1999 00:00:00 I stedet for sådan her: Sun Feb 6 00:00:00 UTC+0100 2000
Hvilket er en lille forbedring - men jeg vil gerne være fri for 00:00:00, og så samtidig være i stand til at sortere efter dato. Hvad kan jeg gøre for at få det til at virke?
Ja, men Frydenholm egentlig er det et klassisk format-problem.
Hvis dine datoer er angivet i dato-format i databasen, bør den selv finde ud af at sortere (hvis den gør noget andet er det en skod-database).
men ellers kan du lave en sortering, f.eks. bubblesort (jeg regner med at der er forholdvis få kampe = under ca. 100):
x = 0; var pulje55=new Array(); var sorter=new Array(); var xsort=new Array(); while (x < rs.recordCount){ if (rs.fields.item(\"pulje\")==55) { sorter[x]=rs.field.item(\"aar\")+rs.field.item(\"Måned\")+rs.field.item(\"dato\");//måske skal du lave noget String-noget her
Jeg havde ikke lige chancen for at køre et check (jeg har ingen database-muligheder her) men havde et par timers hjernegymnastik ud af det, så vend lige tilbage og fortæl, hvad du får ud af det.
Jeg har ikke lige fået det sidste forslag til at virke, men jeg har på forunderlig vis fået sorteret datoen - men den laver stadig 00:00:00 efter datoen. Kan jeg ikke tilføje et parameter et eller andet sted, hvor jeg fortæller den, at den kun skal skrive dag,måned,år?
Okay, det kan jeg godt få til at virke næsten som svarer er skrevet. Men jeg har ændret lidt i det. dag = date.getDate(); måned = date.getMonth()+1; år = date.getYear();
Men nu virker det også, så madshenrik får mine point.
Synes godt om
Ny brugerNybegynder
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.