Avatar billede nogetfx Nybegynder
02. marts 2003 - 00:46 Der er 7 kommentarer og
2 løsninger

Dato - post er over dato

Jg sidder med dato format og har brug for at udskrive ældre datoer end dags dato med en anden typografi. Men det funker ikke..
Har kigget på DateDiff og #, men kan ikke ramme syntaxt eller noget andet..

Min kode:
StrDato er dags Dato og TmpDato er DB-dato

                                Dim StrDato,TmpDato,TmpD,TmpM,TmpA

                                strDato = "#" & Month(Date) & "-" & Day(Date) & "-" & Year(Date) & "#"
                               
                                TmpD = left(RS("dato"),2)
                                TmpM = right(left(RS("dato"),5),2)
                                TmpA = right(RS("dato"),4)

                                TmpDato = "#" & TmpD & "-" & TmpM & "-" & TmpA & "#"

                                If TmpDato > StrDato Then
                                    Response.Write "<td class=""shead"" height=""30"" valign=""top"">" & RS("head") & "</td>"
                                Else
                                    Response.Write "<td class=""oldshead"" height=""30"" valign=""top"">" & RS("head") & "</td>"                   
                                End If
Avatar billede hossein Nybegynder
02. marts 2003 - 01:37 #1
dim StrDato,TmpDato,TmpD,TmpM,TmpA

TmpDato = "10/12/1979"  ' som eksampel
                                strDato = "#" & day(Date) & "-" & month(Date) & "-" & Year(Date) & "#"
                                TmpDato = "#" & day(TmpDato) & "-" & month(TmpDato) & "-" & Year(TmpDato) & "#"

                                If TmpDato > StrDato then
                                              Response.Write "<td class=""shead"" height=""30"" valign=""top"">" & RS("head") & "</td>"

                                else
                                    Response.Write "<td class=""oldshead"" height=""30"" valign=""top"">" & RS("head") & "</td>"                   
                                end if
%>

vh    hossein
Avatar billede hossein Nybegynder
02. marts 2003 - 01:48 #2
TmpDato = "10/12/1979" er din rs("dato"). Hvis den har datatypen som datoog klokkeset kan du stadigvæk bruge Day(...) Month(...) og Year(...)
Avatar billede nogetfx Nybegynder
02. marts 2003 - 13:57 #3
Det ændrer ikke det helt store... Har dog også svært ved at se hvad du har ændret.

I min DB er feltet defineret som dato/tid, med en input-maske: dd-mm-åååå.
Jeg ved ikke om problemt kan være at dagsdato ikke kommer med et nul foran hvis det er et enkelt tal: 2-3-2002
Avatar billede hossein Nybegynder
02. marts 2003 - 23:02 #4
ok, jeg vidste ikke at der er bug i windows, måske det kan hjælpe dig:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q271587
Avatar billede hossein Nybegynder
03. marts 2003 - 00:26 #5
Det lykkedes for mig at tvinge variablen vha. en funktion. den formatere som yyyy-mm-dd men så er man på den sikreste side.

<%@ Language=VBScript %>
<% session.LCID = 1030%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<%
mindato = "3-12-1997"

Function f_format_iso_date( pstrDate )
        dim strDate
    dim strDay
    dim strMonth
    dim strYear
    dim strConvertedDate
       
    strDate        = FormatDateTime( pstrDate, vbShortDate )   
    strDay        = day( strDate )
    if len( strDay ) = 1 then
        strDay = "0" & strDay
    end if       
    strMonth    = month( strDate )
    if len( strMonth ) = 1 then
        strMonth = "0" & strMonth
    end if               
    strYear        = year( strDate )   
       
    strConvertedDate = strYear & "-" & strMonth & "-" & strDay
       
    f_format_iso_date = strConvertedDate
End Function

Lastdato = f_format_iso_date(mindato)

Response.Write lastdato

Set Conn=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.recordset")
Conn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="&server.Mappath("minDB.mdb"))
strSQL = "insert into tagwall (navn, dato, temt) values ('nogetfx', #13-12-2003#, #" & Lastdato & "#)"

  rs.Open strSQL, conn, 1, 3
  %>
</BODY>
</HTML>
Avatar billede hossein Nybegynder
03. marts 2003 - 00:30 #6
Her sætter jeg variablen ind i tabelen. Jeg sætter ikke # rundt om variablen ellers går det ikke rigtig: mindato = "3-12-1997". Den sætter også 0 bagved hvis man skriver 3 så bliver til 03.
Avatar billede nogetfx Nybegynder
07. marts 2003 - 20:34 #7
Kan du måske gentage din løsning..?
Det var planen at jeg skulle kigge på det i aften, men det er jo noget svært..
Avatar billede nogetfx Nybegynder
24. marts 2003 - 16:21 #8
Hvor får du pstrDate fra..? Og had udgør Lastdato..?


            Response.Write vbCrLf &_
            "<img src=""pic/space.gif"" border=""0"" height=""20"" width=""500"">" &_
            "<table cellspacing=""0"" cellpadding=""0"" border=""0"" width=""400"">" & vbCrLf &_
                "<tr>" & vbCrLf &_
                    "<td colspan=""3"" align=""left"" class=""head"" height=""30"" valign=""top"">" &_
                        "<img src=""pic/space.gif"" border=""0"" height=""10"" width=""30"">" & Rsmain("head" & StrLang) & "</td>" & vbCrLf &_
                "</tr>" & vbCrLf &_
                "<tr>" & vbCrLf &_
                    "<td width=""40""><img src=""pic/space.gif"" height=""200"" width=""40"" border=""0""></td>" & vbCrLf &_
                    "<td class=""txt"" height=""100"" valign=""top"" colspan=""2"" align=""left"">"
           
                        If Page = "" Then
                            Page = 1
                        End If
                                   

                        Sql ="SELECT * FROM konc ORDER BY dato DESC"

                        Set rs = Server.CreateObject("ADODB.Recordset")
                        rs.CursorType = adOpenStatic

                        rs.PageSize = 3
                          rs.Open(Sql), Conn, 1, 3

             
                        If Not rs.EOF Then
                            rs.AbsolutePage = cINT(Page)
                              rowCount = 0
                        End If

                        TrCount = 0
                        Total = 0
                        PageCount = 0
                       
                    While Not rs.EOF and rowCount < rs.PageSize
   
                        rowCount = rowCount + 1
   
                        Response.Write vbCrLf &_
                        "<table border=""0"" cellpadding=""2"" cellspacing=""0"">" & vbCrLf &_
                            "<tr>" & vbCrLf

                               
                                TmpD = left(RS("dato"),2)
                                TmpM = right(left(RS("dato"),5),2)
                                TmpA = right(RS("dato"),4)

                                TmpDato = TmpD & "-" & TmpM & "-" & TmpA

                                If TmpDato > StrDato Then
                                    Response.Write "<td class=""shead"" height=""30"" valign=""top"">" & RS("head") & "</td>"
                                Else
                                    Response.Write "<td class=""oldshead"" height=""30"" valign=""top"">" & RS("head") & "</td>"                   
                                End If
                               
                                Response.Write vbCrLf &_
                                "<td class=""dato"">&nbsp;" & FormatDateTime(RS("Dato"),2) & Strdato & "</td>" & vbCrLf &_
                            "</tr>"

                            If Not Rs("txt" & StrLang) = "" Then
                                Response.Write"<tr>" & vbCrLf &_
                                "<td class=""txt"" colspan=""2"">" & RS("txt" & StrLang) & "</td>" & vbCrLf &_
                                "</tr>"
                            End If   

                            If Not Rs("link") = "" Then
                                Response.Write"<tr>" & vbCrLf &_
                                "<td class=""txt"" colspan=""2"" align=""left"" height=""20"">" &_
                                    "<a href=""http://" & RS("link") & """ target=""_blank"">" &_
                                        Rs("link") & "</td>" & vbCrLf &_                                   
                                "</tr>"
                            End If   

                        Response.Write "</table><br>"
                    rs.Movenext

                   
                    Wend
                    Response.Write "</td></tr>" & vbCrLf & "<tr><td colspan=""3"" align=""right"">" & vbCrLf

                If StrLang = "UK" Then
                    If Clng(Page) > 1 Then
                            Response.Write "<a href=""default.asp?act=show&lang=" & StrLang & "&id=" & StrId & "&cat=" & StrCat & "&page=" & Page - 1 &_
                            """' onMouseOver=""window.status='Previous Page';return true""" &_
                            "onMouseOut=""window.status='Previous Page';return true""" &_
                            " onClick=""window.status='Previous Page';return true"">"  &_
                            "&lt;&lt; Previous Page</a>"
                    End If

                    Response.Write "&nbsp;&nbsp;"

                    If Clng(Page) < Clng(rs.PageCount) Then
                        Response.Write "<a href=""default.asp?act=show&lang=" & StrLang & "&id=" & StrId & "&cat=" & StrCat & "&page=" & Page + 1 &_
                        """' onMouseOver=""window.status='Next Page';return true""" &_
                        "onMouseOut=""window.status='Next Page';return true""" &_
                        " onClick=""window.status='Next Page';return true"">"  &_
                        "Next Page &gt;&gt;</a>"
                    End If
                Else
                    If Clng(Page) > 1 Then
                            Response.Write "<a href=""default.asp?act=show&lang=" & StrLang & "&id=" & StrId & "&cat=" & StrCat & "&page=" & Page - 1 &_
                            """' onMouseOver=""window.status='Forrige side';return true""" &_
                            "onMouseOut=""window.status='Forrige side';return true""" &_
                            " onClick=""window.status='Forrige side';return true"">"  &_
                            "&lt;&lt; Forrige side</a>"
                    End If

                    Response.Write "&nbsp;&nbsp;"

                    If Clng(Page) < Clng(rs.PageCount) Then
                        Response.Write "<a href=""default.asp?act=show&lang=" & StrLang & "&id=" & StrId & "&cat=" & StrCat & "&page=" & Page + 1 &_
                        """' onMouseOver=""window.status='Previous Page';return true""" &_
                        "onMouseOut=""window.status='N&aelig;ste side';return true""" &_
                        " onClick=""window.status='N&aelig;ste side';return true"">"  &_
                        "N&aelig;ste side &gt;&gt;</a>"
                    End If
                End If


    Response.Write    "</td>" & vbCrLf &_
                "</tr>" & vbCrLf &_
            "</table>"
    RS.Close
    Set Rs = Nothing
Avatar billede nogetfx Nybegynder
10. maj 2003 - 23:25 #9
jeg fik det løst, men jeg brugte ikke din løsning, da den stadig gav problemer. Men jeg endte med at vende datoen om til et tal, men vi deler som tak for forsøget...


/Lars
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