11. september 2016 - 22:05
Der er
33 kommentarer og 3 løsninger
Ugedag og dato ønskes udtrukket for hver dag
Jeg har en bunke data, der bliver logget hver dag. Her imellem er der også ugedag og dato, Alle ugedage og datoer bliver sammen med de øvrige data trukket ud i rækker gennem en løkke: If Not RSLog1.EOF Then Do Until RSLog1.EOF [Ugedag] [Dato] [Data1] [Data2] [Data3] [Data4] [Data5] RSLog1.MoveNext Loop End If For at gøre det lidt mere overskueligt, kunne jeg godt tænke mig at adskille alle disse data delt op for hver dag. Da der kommer en ny søndag om en uge, vil jeg gerne have sat datoen på bag hver ugedag, så det i stedet kommer til at se sådan her ud: Søndag den 11. september 2016 If Not RSLog1.EOF Then Do Until RSLog1.EOF [Data1] [Data2] [Data3] [Data4] [Data5] RSLog1.MoveNext Loop End If Mandag den 12. september 2016 If Not RSLog1.EOF Then Do Until RSLog1.EOF [Data1] [Data2] [Data3] [Data4] [Data5] RSLog1.MoveNext Loop End If Tirsdag den 13. september 2016 If Not RSLog1.EOF Then Do Until RSLog1.EOF [Data1] [Data2] [Data3] [Data4] [Data5] RSLog1.MoveNext Loop End If Onsdag den 14. september 2016 If Not RSLog1.EOF Then Do Until RSLog1.EOF [Data1] [Data2] [Data3] [Data4] [Data5] RSLog1.MoveNext Loop End If Osv. Dvs. der køres en løkke med ugedag/dato, og inde i den løkke køres der en ny løkke med de unikke data for den unikke dag. Jeg har prøvet med alle mulige forsøg, som f.eks. SELECT DISTINCT ugedag, dato, relation til en tabel: SELECT child WHERE weekdayID = 1 (for mandag) weekdayID weekdayname 1 Mandag 2 Tirsdag 3 Onsdag 4 Torsdag 5 Fredag 6 Lørdag 7 Søndag Men det bliver en gang rod. Hvordan gør jeg?
Annonceindlæg fra Kingston Technology
11. september 2016 - 22:13
#1
Jeg kan se, at jeg ikke har illustreret det perfekte billede. Men Jeg vil gerne have det stillet således op: Onsdag den 14. september 2016 [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] Tirsdag den 13. september 2016 [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] Mandag den 12. september 2016 [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] Søndag den 11. september 2016 [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5] [Data1] [Data2] [Data3] [Data4] [Data5]
11. september 2016 - 22:18
#2
I stedet for [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Onsdag] [14-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Tirsdag] [13-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Tirsdag] [13-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Tirsdag] [13-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Tirsdag] [13-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Mandag] [12-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Søndag] [11-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Søndag] [11-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Søndag] [11-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Søndag] [11-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Søndag] [11-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5] [Søndag] [11-09-2016] [Data1] [Data2] [Data3] [Data4] [Data5]
12. september 2016 - 01:41
#3
Det problem skal ikke loeses i SQL men i din applikation!
12. september 2016 - 01:44
#4
Altsaa: SELECT dato,... FROM ... WHERE ... ORDER BY dato DESC Og saa pseudo kode: olddato = "" If Not RSLog1.EOF Then Do Until RSLog1.EOF dato = RSLog1("dato") If dato <> olddato Then ' output dato header olddato = dato End If ' output alle de andre felter (men ikke dato og ugedag) RSLog1.MoveNext Loop End If
12. september 2016 - 09:20
#5
Arne, skal olddato = "" ikke med gennem en løkke udenom løkken?
12. september 2016 - 09:21
#6
Ah, sorry. Jeg kan se idéen. Jeg prøver
12. september 2016 - 10:59
#7
Jeg er alligevel ikke helt med. olddato = "" Den skal vel ikke være blank? Og den skal også køres gennem en løkke?
12. september 2016 - 15:27
#8
Den skal vaere en vaerdi som ikke er i databasen. Og den skal vaere udenfor loekken - den bliver aendret inde i loekken. Logikken er at man skriver header naar data aendrer sig. Den foerste dato fra databasen er en "aendring".
13. september 2016 - 20:15
#9
Jeg prøver. Vender snart tilbage
13. september 2016 - 20:47
#10
I tabellen har jeg gemt dato og klokkeslæt således: Recordset "dato": 4/9/2016 18:35:16 Det gør jeg mere præsentabelt således (funktionen addZ sætter et 0 foran, hvis tallet er mindre end 10, så der kommer til at stå 07 i stedet for 7) Dim adminAt, adminAtDate, adminAtTime adminAt = RSLog("dato") adminAtDate = addZ(day(adminAt)) & "-" & addZ(month(adminAt)) & "-" & year(adminAt) adminAtTime = addZ(hour(adminAt)) & ":" & addZ(minute(adminAt)) & ":" & AddZ(Second(adminAt)) Når der logges data (fra en anden side), logges ugedagen således: Wday = WeekdayName(Weekday(date)) SQL = "INSERT INTO lbloguser (weekdayname) VALUES ('" & Wday & "') Conn.Execute SQL Skal weekdayname ikke benyttes? Præcis sådan her står det nu: <% 'Set RSLog = Conn.Execute("SELECT * FROM lbloguser ORDER BY userlogID DESC") <- Denne er den oprindelige. Jeg sorterede efter userlogID DESC, så de blev listet kronologisk efter ID Set RSLog = Conn.Execute("SELECT * FROM lbloguser ORDER BY dato DESC")' <- Her har jeg ændret userlogID til dato. Men det vil jo nok ikke virke ........? olddato = "" If Not RSLog.EOF Then Do Until RSLog.EOF Dim adminAt, adminAtDate, adminAtTime adminAt = RSLog("dato") adminAtDate = addZ(day(adminAt)) & "-" & addZ(month(adminAt)) & "-" & year(adminAt) adminAtTime = addZ(hour(adminAt)) & ":" & addZ(minute(adminAt)) & ":" & AddZ(Second(adminAt)) If adminAtDate <> olddato Then olddato = adminAtDate End If %> <div class="divLogContainer <%=bbckr%>"> <div class="divLogs<% If RSLog("moved") <> RSLog("mover") Then %> bluePlainText<% End If %>"> <div class="divLogs1"><%=adminAtTime%></div> <div class="divLogs4"><%=RSLog("moved")%></div> <div class="divLogs3">er</div> <div class="divLogs5">blevet rykket af <%=RSLog("mover")%></div> <div class="divLogs6">fra</div> <div class="divLogs7"><%=RSLog("fromstatus")%></div> <div class="divLogs6">til</div> <div class="divLogs7"><%=RSLog("tostatus")%></div> <div class="clearBoth"></div> </div> </div> <% If bbckr = "fobg1" Then bbckr = "fobg2" Else bbckr = "fobg1" End If RSLog.MoveNext Loop End If %> Det virker ikke. Jeg har godt nok taget datoen ud. Men jeg får én kang liste med alle data, helt nøjagtigt som før. Jeg håber du kan finde rundt i det her.
13. september 2016 - 21:04
#11
Du skal udskrive dato header naar dato aendrer sig og ikke for hver raekke.
Noget a la:
If adminAtDate <> olddato Then Response.Write "<div class=""divLogs1"">" & adminAtTime & "</div>" ' <---- flyttet herop olddato = adminAtDate End If %> <div class="divLogContainer <%=bbckr%>"> <div class="divLogs<% If RSLog("moved") <> RSLog("mover") Then %> bluePlainText<% End If %>"> <!-- slettet her --> <div class="divLogs4"><%=RSLog("moved")%></div> <div class="divLogs3">er</div>
13. september 2016 - 21:14
#12
Klokkeslættet for hver række data skal jo gerne stå i starten af hver række, så man kan se det eksakte tidspunkt, korrekt? Klokkeslættet angiver jo præcist hvornår en hændelse bliver logget Tirsdag den 13. september 2016 09:01:48 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:49 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:23 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:02 [Data1] [Data2] [Data3] [Data4] [Data5]
13. september 2016 - 21:15
#13
Onsdag den 14. september 2016 09:01:48 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:49 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:23 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:02 [Data1] [Data2] [Data3] [Data4] [Data5] Tirsdag den 13. september 2016 09:01:48 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:49 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:23 [Data1] [Data2] [Data3] [Data4] [Data5] 08:16:02 [Data1] [Data2] [Data3] [Data4] [Data5]
13. september 2016 - 21:17
#14
Klokkeslættene vil variere meget fra dag til dag. Jeg gad bare ikke rette kun for at illustrere :)
13. september 2016 - 21:18
#15
saa:
If adminAtDate <> olddato Then Response.Write "<div class=""divLogs1"">" & adminADate & "</div>" ' olddato = adminAtDate End If %> <div class="divLogContainer <%=bbckr%>"> <div class="divLogs<% If RSLog("moved") <> RSLog("mover") Then %> bluePlainText<% End If %>"> <div class="divLogs1"><%=adminAtTime%></div> <div class="divLogs4"><%=RSLog("moved")%></div> <div class="divLogs3">er</div>
Synes godt om
1 synes godt om dette
13. september 2016 - 21:19
#16
Hvis du faar udskrevet noget i herader naar dato skifter saa tror jeg at du ser lyset og kan lynhurtigt tilrette det som du vil.
13. september 2016 - 21:29
#17
Så lykkedes det :) Dvs jeg får 13-09-2016 Hvordan får jeg konverteret det til 13. september 2016
13. september 2016 - 21:30
#18
Hvordan får jeg konverteret det til Tirsdag den 13. september 2016 ?
13. september 2016 - 21:36
#19
Jeg har logget alle ugedagene fint i "weekdayname" i tabellen.
13. september 2016 - 21:38
#20
utestet: d = CDate(atAdminDate) s = WeekdayName(Weekday(d)) & " " Day(d) & " " & MonthName(Month(d)) & " " & Year(d)
13. september 2016 - 21:39
#21
VBS har en funktion til det.
13. september 2016 - 21:40
#22
Der er et eller andet galt. Nu er det listet således: 09-09-2016 08-09-2016 07-09-2016 06-09-2016 05-09-2016 04-09-2016 13-09-2016 12-09-2016 11-09-2016 10-09-2016 Det burde være listet således: 13-09-2016 12-09-2016 11-09-2016 10-09-2016 09-09-2016 08-09-2016 07-09-2016 06-09-2016 05-09-2016 04-09-2016 Kan det have noget med ORDER BY dato at gøre?
13. september 2016 - 21:43
#23
Ja. Det ser ud som om du har sorteret paa streng vaerdier uden foranstillede nuller.
13. september 2016 - 21:43
#24
Jeg rettede ORDER BY dato tilbage til ORDER BY userlogID, oog så kom det på plads :) Set RSLog = Conn.Execute("SELECT * FROM lbloguser ORDER BY userlogID DESC") 'Set RSLog = Conn.Execute("SELECT * FROM lbloguser ORDER BY dato DESC")
13. september 2016 - 21:45
#25
Så mangler jeg "bare" at få rettet 13-09-2016 til Tirsdag den 13. september 2016 Håber du kan greje den også.
13. september 2016 - 21:46
#26
Se ide oppe i #20.
13. september 2016 - 21:48
#27
Sorry, den så jeg slet ikke. Kigger ....
13. september 2016 - 21:55
#28
Så kommer der til at stå lørdag 30 december 1899 på alle dagene. Jeg tror jeg har placeret det forkert. Siden ser sådan her ud: olddato = "" If Not RSLog.EOF Then Do Until RSLog.EOF Dim adminAt, adminAtDate, adminAtTime, d, s adminAt = RSLog("dato") adminAtDate = addZ(day(adminAt)) & "-" & addZ(month(adminAt)) & "-" & year(adminAt) adminAtTime = addZ(hour(adminAt)) & ":" & addZ(minute(adminAt)) & ":" & AddZ(Second(adminAt)) If adminAtDate <> olddato Then d = CDate(atAdminDate) s = WeekdayName(Weekday(d)) & " " & Day(d) & " " & MonthName(Month(d)) & " " & Year(d) %> <div class="divLogContainer boldText"><%=s%></div> <% olddato = adminAtDate End If %>
13. september 2016 - 21:57
#29
problemet er: d = CDate(atAdminDate) atAdminDate er tilsyneladende ikke i det format CDate forventer.
13. september 2016 - 21:58
#30
virker: d = adminAt ?
Synes godt om
1 synes godt om dette
13. september 2016 - 22:08
#31
Det virkede med d = adminAt :) Jeg vil gerne lige plage dig med 2 små detaljer: 1. Kan man skrive ugedagen med stort (det første bogstav), så tirsdag bliver rettet til Tirsdag? 2. Kan man sætte et punktum ind efter DD, og "den" ind efter ugedagen, så der kommer til at stå Tirsdag den 13. september 2016
13. september 2016 - 22:11
#32
Se bort fra nummer 2, "den" og punktum. Den er klaret.
13. september 2016 - 22:11
#33
proev: Function Cap(s) Cap = UCase(Left(s, 1)) & Mid(s, 2) End Function s = Cap(WeekdayName(Weekday(d))) & " den " Day(d) & ". " & MonthName(Month(d)) & " " & Year(d)
Synes godt om
1 synes godt om dette
13. september 2016 - 22:13
#34
Men kan man rette ugedagen til stort begyndelsesbogstav? Normalt ville jeg klare det på denne måde: <div style="text-transform: capitalize"><%=weekday%></div> Men det er vist ikke metoden her.
13. september 2016 - 22:14
#35
Det er hvad Cap funktionen boer goere.
13. september 2016 - 22:16
#36
Arne, du er hardcore :) Den er i lige i øjet, 1000 tak for hjælpen :)
Kurser inden for grundlæggende programmering