webForumDet fria alternativet

Datum - Variabel

19 svar · 343 visningar · startad av mattiasnordin

mattiasnordinMedlem sedan maj 20012 080 inlägg
#1

Jag har en variabel som är ett datum i formatet: 010808
Nu vill jag visa hur många dagar det är kvar till detta datum. Har dock inte hållt på mycket med datumdelen i VB-script ännu...

Om variabelns datum är 010810 och dagens datum är 010808 vill jag visa resultatet 2.

Säkert enkelt för er som kan. Själv går det trögt med trial n error varianten...

------------------
http://www.absolut.nu

ekke_tMedlem sedan juli 2001203 inlägg
#2

Gör först om datumen till ett bättre format... yyyy-mm-dd är bra.. sen kör du denna kod...


datediff("d","2001-08-08","2001-08-10")

------------------
Erik

[Redigerat av ekke_t den 09 aug 2001]

mattiasnordinMedlem sedan maj 20012 080 inlägg
#3

Jag får "Cannot use parentheses when calling a Sub" när jag provar datediff("d","2001-08-08","2001-08-10")

------------------
http://www.absolut.nu

[Redigerat av mattiasnordin den 09 aug 2001]

BrimbaMedlem sedan dec. 19995 875 inlägg
#4

Dim a
a = datediff("d","2001-08-08","2001-08-10")

mattiasnordinMedlem sedan maj 20012 080 inlägg
#5

Som ni märker är jag nybörjare. Tackar brimba. Det går nu betydligt bättre.
Har ni inte någon fiffig lösning på hur man konverterar datumet 010808 till 2001-08-08?
Jag har en mycket begränsad inputyta så jag vill helst ha kvar den korta formateringen i databasen. :D

------------------
http://www.absolut.nu

BrimbaMedlem sedan dec. 19995 875 inlägg
#6

<%
a = "010731"
a1 = mid(a, 1, 2)
a2 = mid(a, 3, 2)
a3 = mid(a, 5, 2)
b = "20" & a1 & "-" & a2 & "-" & a3
response.write b
%>

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

mattiasnordinMedlem sedan maj 20012 080 inlägg
#7

Man tackar brimba. Nu har jag gjort min första killer application.

Ja, jag skulle äta där det är rökförbud ;-)

------------------
http://www.absolut.nu

BrimbaMedlem sedan dec. 19995 875 inlägg
#8

Perfekt mattias!

Om du vill göra det ännu mer komplicerat kan du göra en funktion av det.

<%
Function modDate(myDate)
   a = myDate
   a1 = mid(a, 1, 2)
   a2 = mid(a, 3, 2)
   a3 = mid(a, 5, 2)
   b = "20" & a1 & "-" & a2 & "-" & a3
   modDate = b
End Function
%>

Sedan för att använda den gör du följande:

<%
response.write modDate("010809")
%>

Lycka till!

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

[Redigerat av Brimba den 09 aug 2001]

mattiasnordinMedlem sedan maj 20012 080 inlägg
#9

Jag får tyvärr inte din funktion att fungera men jag fattar konceptet. Koden blir dessutom snyggare då jag har en ganska krånglig if / else struktur...
Undrar vad det som blir fel?

------------------
http://www.absolut.nu

BrimbaMedlem sedan dec. 19995 875 inlägg
#10

Nu fungerar den.
Hade råkat skriva myDate = b istället för modDate = b

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

mattiasnordinMedlem sedan maj 20012 080 inlägg
#11

Nu ser det snyggare ut. Dessutom kan man ju återanvända funktionen! =)

------------------
http://www.absolut.nu

mattiasnordinMedlem sedan maj 20012 080 inlägg
#12

Nu blev det lite krångligare... Allt fungerar bra men jag kom på att jag nu kan få negativa datum om jag inte tar bort de som är äldre än dagens datum ur databasen.
Kan man skriva någon ball SQL fråga som tar bort allt ur databasen som är äldre än dagens datum?

Query = "Delete * from Kalender "
Query = Query & " where datum = ????

------------------
http://www.absolut.nu

BrimbaMedlem sedan dec. 19995 875 inlägg
#13

"Delete FROM Kalender WHERE datum < #2001-08-09#"

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

[Redigerat av Brimba den 09 aug 2001]

mattiasnordinMedlem sedan maj 20012 080 inlägg
#14

Ha ha ha - LOL - ja ..... något hände....

Nu har jag inte någon data i huvudtaget i databasen. Det gör inget dock. Bara resa sig och vara berädd på nästa smäll.

Vad har # för funktion?

------------------
http://www.absolut.nu

LarsGMedlem sedan dec. 200012 464 inlägg
#15

# används i access (enbart) för att specificera ett datum i ett sqlstatement.

------------------
essentitia preter non sans multiplicandum

BrimbaMedlem sedan dec. 19995 875 inlägg
#16

/me använder access :e

Sorry mattias, räknade med att du hade backup :x

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

mattiasnordinMedlem sedan maj 20012 080 inlägg
#17

då kanske man kan skriva:

Query = "DELETE * from Kalender "
Query = Query & " WHERE datum < #" &date &"#"

------------------
http://www.absolut.nu

LarsGMedlem sedan dec. 200012 464 inlägg
#18

Jo, man kan också utnyttja den datumfunktion som finns i Access.

Query = "DELETE * from Kalender "
Query = Query & " WHERE datum < date "

Delete * är också access-specifikt och det behövs bara om man använder Access 97 eller tidigare versioner.

------------------
essentitia preter non sans multiplicandum

mattiasnordinMedlem sedan maj 20012 080 inlägg
#19

Hallo, jag kanske inte är så bra på det här. Det går att lägga till saker i kalendern med datum i framtiden men så fort jag lägger till ett gammalt datum så deletas allt ur databasen. Vad är det för fel på min delete fråga?

if datediffresult < 0 then
  response.write "TEST"
  Query = "DELETE * FROM Kalender "
  Query = Query & " WHERE datum < #" &date &"#"
  ' response.write (Query)
  set conntemp=server.createobject("adodb.connection")
  conntemp.open Dsn
  set rstemp=conntemp.execute(Query)
  conntemp.close
  set conntemp=nothing
end if

Jag vill alltså att bara det gamla raden med det gamla datumet ska raderas. Inte ALLT :-( ha ha...
------------------
http://www.absolut.nu

[Redigerat av mattiasnordin den 09 aug 2001]

mattiasnordinMedlem sedan maj 20012 080 inlägg
#20

Kanske har med att göra att datumen i "datum" tabellen i databasen är i formatet 010808 istället för 2001-08-08. Kanske lättare att byta så att jag har samma format överallt....

------------------
http://www.absolut.nu

133 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)