Avatar billede tormood Nybegynder
21. juni 2003 - 13:53 Der er 34 kommentarer og
1 løsning

dato hjelp!

jeg har ned sql tabell med et dato felt som er date().

Jeg får bare 0000-00-00 i feltet  når jeg bruker dette skriptet.

scriptet har vært brukt til access for og jeg har tydeligvis ikke klart å skrive det helt om.

Kan noen hjelpe?

<!--#INCLUDE FILE="dbcon.asp" -->
<%
Session.LCID = 2057

'--------------------------------------------------
  Function DtPrevSunday(ByVal dt)
      Do While WeekDay(dt) > vbSunday
        dt = DateAdd("d", -1, dt)
      Loop
  DtPrevSunday = dt
  End Function
'--------------------------------------------------


Sub diary(dtView)

Dim dtToday
dtToday = Date()

Dim dtCurViewMonth ' First day of the currently viewed month
Dim dtCurViewDay ' Current day of the currently viewed month

' Get first day of month
dttmp = dtView
dtday = day(dttmp)
dttmp = dateadd("d", (-dtday+1), dttmp)


dtCurViewMonth = dttmp

  Dim iDay, iWeek, sFontColor
%>

     
      <TABLE CELLPADDING=3 CELLSPACING=0 WIDTH="95%" BORDER=2 BGCOLOR="#99CCFF" BORDERCOLORDARK="#003399" BORDERCOLORLIGHT="#FFFFFF">
          <TR VALIGN=MIDDLE ALIGN=CENTER>
            <TD COLSPAN=7>
            <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BORDER=0>
                <TR VALIGN=MIDDLE ALIGN=CENTER>
                  <TD WIDTH="10%" ALIGN=center>
                      <a href="view_day.asp?view_date=<%= dateadd("m", -1, dtCurViewMonth) %>"><</a>
                  </TD>
                  <TD WIDTH="80%">
                      <FONT FACE="Arial" COLOR="#000000">
                      <B><small><%=Monthname(Month(dtCurViewMonth)) & " " & Year(dtCurViewMonth)%></small></B>
                    </FONT>
                  </TD>
                  <TD WIDTH="10%" ALIGN=center>
                      <a href="view_day.asp?view_date=<%= dateadd("m", 1, dtCurViewMonth)  %>">></a>
                  </TD>
                </TR>
            </TABLE>
            </TD>
          </TR>

          <TR VALIGN=TOP ALIGN=CENTER BGCOLOR="#000099">

          <% For iDay = vbSunday To vbSaturday %>
            <TH WIDTH="14%"><FONT FACE="Arial" SIZE="-2" COLOR="#FFFFFF"><%=left(WeekDayName(iDay), 3)%></FONT></TH>
          <%Next %>

        </TR>


<%

   

  dtCurViewDay = DtPrevSunday(dtCurViewMonth)
 
  For iWeek = 0 To 5
      Response.Write "<TR VALIGN=TOP>" & vbCrLf

Dim sBGCOLOR
sBGCOLOR = "#99ccff"


For iDay = 0 To 6
sBGCOLOR = "#99ccff"
If month(dtCurViewDay) = month(dtCurViewMonth) Then
If dtCurViewDay = dtToday Then sBGCOLOR = "#99ccbb"
else
sBGCOLOR = "#99ccff"

End If
Response.Write "<TD HEIGHT=20 bgcolor='" & sBGCOLOR & "' >"
       
      If month(dtCurViewDay) = month(dtCurViewMonth) Then
        If dtCurViewDay = dtToday Then
              sFontColor = "#ff0000"

            Else
              sFontColor = "#00000"
            End If
           
            Response.Write "<FONT FACE=""Arial"" SIZE=""-2"" COLOR=""" & sFontColor & """><B>"
            Response.Write "<a href=view_day.asp?" & "view_date=" & year(dtCurViewday) & "-" & monthname(month(dtCurViewday)) & "-" & day(dtCurViewday) & ">"  & Day(dtCurViewDay) & "</a></B></FONT><BR>"

        End If

        Response.Write "</TD>" & vbCrLf
        dtCurViewDay = DateAdd("d", 1, dtCurViewDay)
      Next
      Response.Write "</TR>" & vbCrLf
  Next
%>
<%
' --------END OF DRAW CALENDAR SECTION--------
Response.Write "</table>"
End Sub
%>

<%

set my_conn= Server.CreateObject("ADODB.Connection")
my_Conn.Open DBcon
StrSql= "Select * from bk.diary where dte = '" & Request("view_Date") & "' ORDER BY dte"

rs = my_conn.Execute (StrSql)

'  If no records found then no worries just trap error
on Error Resume next

%>
Avatar billede hossein Nybegynder
21. juni 2003 - 13:57 #1
hvor i verden du befinder dig:
Session.LCID = 2057
2057 er det norsk format?
Avatar billede tormood Nybegynder
21. juni 2003 - 14:46 #2
norsk ja
Avatar billede hossein Nybegynder
21. juni 2003 - 14:52 #3
Nej, det er det ikke :)
kig her:
http://www.123hostnow.com/articles/LCID.asp?LCID=2057

Vil du så når du udskriver så ser din output i dette format: dd-mm-yyyy

Og de dato som er i din tabel er: yyyy-mm-dd og er korrekt?
Avatar billede tormood Nybegynder
21. juni 2003 - 15:00 #4
ok

i tabellen ser datoformatet ut slik: 0000-00-00.

Problemet er at scriptet ikke vil skrive inn noen dato sikkert fordi jeg ikke har klart å endre fra access til sql

skal jeg bare endre Lcid?
Avatar billede hossein Nybegynder
21. juni 2003 - 15:10 #5
Når du vil inserte (indsætte) dato, formatere du den til: 0000-00-00 og accepteres ikke?
prøv at forklare lidt mere?
du kan altid formatere din dato, og dette format 0000-00-00 er den bedste i verden, når du vil så udskrive den så kan formatere den tilbage til: dd-mm-yyyy
Avatar billede tormood Nybegynder
21. juni 2003 - 15:16 #6
prboldemet er jeg vet ikke hvordan jeg skal formatere den til 0000-00-00 når jeg vil insette den. scriptet skriver datoen ut slik: 06.mars.2001 feks.
Avatar billede hossein Nybegynder
21. juni 2003 - 15:21 #7
du kan formatere din dato med dette funktion til (dd-mm-yyyy) både til output og input, prøv:

Function FormatMinDato(Datoen)
    Dim strYYYY
    Dim strMM
    Dim strDD

        strYYYY = CStr(DatePart("yyyy", Datoen))

        strMM = CStr(DatePart("m", Datoen))
        If Len(strMM) = 1 Then strMM = "0" & strMM

        strDD = CStr(DatePart("d", Datoen))
        If Len(strDD) = 1 Then strDD = "0" & strDD

        FormatMinDato = strDD & "-" &  strMM & "-" & strYYYY

End Function
%> 
Også når du f ex skal skrive ud:
<% = FormatMinDato(objrec("dato")) %>
Avatar billede hossein Nybegynder
21. juni 2003 - 15:25 #8
også prøv at ændre først dit sesseion.lcid til Norsk:
Session.lcid = 2047
eller:
Session.lcid = 1044
Avatar billede tormood Nybegynder
21. juni 2003 - 15:39 #9
endre lcid virker ikke.

Skal jeg erstatte "view date" med: <% = FormatMinDato(objrec("dato")) %> 

kan du vise hvordan jeg setter det inn i skripet som jeg klippet inn i spørsmålet mitt?
Avatar billede hossein Nybegynder
21. juni 2003 - 15:47 #10
Hvis view_Date er en værdi som du henter:
view_Date = Request("view_Date")
view_Date = FormatMinDato(view_Date) 
StrSql= "Select * from bk.diary where dte = #" & view_Date & "# ORDER BY dte"

Jeg regner med at dte har datatypen Dato og klokkeset eller hvad hedder det i msSQL.
Avatar billede tormood Nybegynder
21. juni 2003 - 16:11 #11
jeg får det ikke til men jeg tror problemet er at scriptet prøver å sette inn "2003 mars 03" i stedet fro "2003 03 03"
Avatar billede hossein Nybegynder
21. juni 2003 - 16:13 #12
send det hele til mig så kan jeg kigge på dem: mach3@get2net.dk
Avatar billede tormood Nybegynder
21. juni 2003 - 16:25 #13
jeg får mailen i retur er adressen rett?
Avatar billede tormood Nybegynder
21. juni 2003 - 16:39 #14
send mail til meg så kan jeg sende filene i returmailen.

talma@online.no
Avatar billede hossein Nybegynder
21. juni 2003 - 18:06 #15
Feltet dte har en format som Langt datoformat i MSAccess prøv at fjerne det.
prøv at gør det samme.
Avatar billede tormood Nybegynder
21. juni 2003 - 18:17 #16
hvor?
Avatar billede hossein Nybegynder
21. juni 2003 - 18:47 #17
Jeg sender db'en (brug den) til dig, sent.
Avatar billede tormood Nybegynder
21. juni 2003 - 18:55 #18
filen blir blokkert av outlook, men jag skal bruke mysql db
Avatar billede tormood Nybegynder
21. juni 2003 - 18:57 #19
har prøvd å endre settingene i outlook prøv å sende igjen
Avatar billede hossein Nybegynder
21. juni 2003 - 18:59 #20
sent igen!
Avatar billede tormood Nybegynder
21. juni 2003 - 19:09 #21
outlook blokkerer mdb fila og jeg klarer ikke å endre den
Avatar billede hossein Nybegynder
21. juni 2003 - 19:15 #22
åben msaccess --> vælg tabel --> vælg tabeller --> Diary (markere den) --> tryk på design --> tryk på dte feltet --> Nu i tryk på datatypen for feltet dte ---> lidt lægere ned er en fande blade ---> under fande blade generalt kan du fjener Formatet
Avatar billede tormood Nybegynder
21. juni 2003 - 19:21 #23
ok
Avatar billede tormood Nybegynder
21. juni 2003 - 19:23 #24
men jeg har endret connection til mysql og får ikke orginal filene til å virke fordi man finner ikke diary.mdb
Avatar billede hossein Nybegynder
21. juni 2003 - 19:23 #25
Jeg kan se at i MySQL dato bliver formateret som yyyy-mm-dd. jeg undersøger om man kan ændre det.
Avatar billede hossein Nybegynder
21. juni 2003 - 19:30 #26
Du skal rette filen dbCon.asp.
denne linie:
DBCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\inetpub\wwwroot\project14\diary.mdb" 'det er path på min maskine
skal ændres til:
database navn password (PWD) username (UID) skal du sætte din egen:
DBCon= "DRIVER={MySQL};SERVER=localhost;DATABASE=mydb;UID=user;PWD=password;"
Hvis du får problemer så skal du tjekke hvad for en driver version du har.
Avatar billede tormood Nybegynder
21. juni 2003 - 19:31 #27
jeg har får connectionen til å virke med access og har fjernet long dato formatet. men hva hjelper det i forhold til mysql?
Avatar billede tormood Nybegynder
21. juni 2003 - 19:34 #28
jeg får connectionen til mysql databasen til å virke også.

og jeg det jeg skriver inn i tekstfeltet kommer inn i databasen problemet er at dato feltet blir 0000-00-00 isetedet for feks 2003-juni.21 som er datoen jeg skriver teksten inn i.
Avatar billede hossein Nybegynder
21. juni 2003 - 19:35 #29
Så vidt jeg kan se intet. Fordi den har en default format som yyyy-mm-dd. Men det er meget nemmer at arbejde med access. Hvilke fordele MySQL har det ved jeg ikke, men jeg har brugt access i mange år uden problemer.

Men i hele kodning formateres dato som Day-Month-Year
Avatar billede hossein Nybegynder
21. juni 2003 - 19:38 #30
Ja. fordi i kodningen han bruger MonthName, og det er kun til formatering. det kan man se oxo i URL feltet i IE. Hvis du vil ikke ha det så skal du bare fjerne MonthName de steder som du ikke vil ha.
Avatar billede tormood Nybegynder
21. juni 2003 - 19:38 #31
jeg må bruke mysql på grunn av leverandøren av webhotellet
Avatar billede tormood Nybegynder
21. juni 2003 - 19:43 #32
fjerne hele monthname?  jeg har prøvd å fjerne name slik at det bare blir month men da blir måneden 1 uansett hvlken måned jeg velger
Avatar billede hossein Nybegynder
21. juni 2003 - 19:48 #33
De steder som du vil.
På linie 45 i filen View_day.asp:
<B><small><%=MonthName(Month(dtCurViewMonth)) & " " & Year(dtCurViewMonth)%></small></B>
her vises MonthNavn f ex: 06 februr 2003 hvis du fjerner det:
<B><small><%=Month(dtCurViewMonth) & " " & Year(dtCurViewMonth)%></small></B>
Bliver outputet: 06-02-2003
Avatar billede hossein Nybegynder
21. juni 2003 - 19:50 #34
begge steder er kun måned og år oxo outputet for februar er: 02-2003
Avatar billede tormood Nybegynder
21. juni 2003 - 19:56 #35
det virket!!! tuusseenn takkk!!!!
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