簡體   English   中英

Windows 10 / IIS / Classic ASP上的Access 2016中的日期格式還原

[英]Date formatting reverting in Access 2016 on Windows 10/IIS/Classic ASP

希望我可以對某人足夠詳細地解釋這個問題,以便讓我知道一個可能的解決方案,或者至少讓我知道沒有解決的方法(除了我在下面提到的解決方法)。

好的,我正在從以下環境中遷移:

Windows XP / Access 2003 /經典ASP / IIS

至:

Windows 10 Pro / Access 2016 /經典ASP / IIS

基本上,我有一個以經典ASP編寫的IIS中運行的本地網站。 這些頁面在Web瀏覽器中運行,並且Access DB中發生了大量插入和更新。 Win XP環境設置為位於澳大利亞,但是我所有的格式都基於美國,因此所有格式都以“ mm / dd / yyyy”表示。

在Windows XP中,我可以按如下所示在ASP中運行查詢更新:

    theDate = Now()
    SQLStmt =   "UPDATE tTable SET DateField ='" & theDate & "' WHERE DateID=1"

並可以正常工作,就像日期是2017年10月1日一樣,它將在Access DB表中顯示為10/01/2017。 日期字段的日期類型(在上面的示例中為DateField)的類型為“日期/時間”。

因此,我安裝了Windows 10 Pro,使用Classic ASP設置IIS,創建了一個虛擬目錄,從Win XP移至所有文件,然后將整個Win 10的所有日期設置更改為美國格式。 我還將IIS中“配置ASP應用程序的屬性”下的“語言環境ID”更改為1033。 使用Access DB時不會轉換為Access 2016(因此可以根據需要將其移回到Win XP環境中)。

但是,運行上述查詢會導致進入Access DB的日期為“ 01/10/2017”。

因此,我設置了以下代碼來測試日期格式:

    theDate_01 = Now()

    theDateTime = FormatDateTime(theDate_01,3)

    theDate_02 = Year(theDate_01)&"-"&Month(theDate_01)&"-"&Day(theDate_01)&" "&theDateTime

    SQLStmt =   "UPDATE tDateTest SET "
    SQLStmt =   SQLStmt & "theDate='" & theDate_01 & "'"
    SQLStmt =   SQLStmt & " WHERE DateID=1"
    Set RS = conntemp.execute(SQLStmt)

    SQLStmt =   "UPDATE tDateTest SET "
    SQLStmt =   SQLStmt & "theDate='" & theDate_02 & "'"
    SQLStmt =   SQLStmt & " WHERE DateID=2"     
    Set RS = conntemp.execute(SQLStmt)

%>

基本上,我在Access中有一個名為tDateTest的表,其中有兩列DateID和theDate。

運行上面的代碼的結果是,正確插入了theDate_01(即以AU日期格式),而由於我首先將其轉換為yyyy-mm-dd格式,因此theDate_02確實被正確插入。

現在事后看來,無論何時我要更新/插入日期,我都會這樣做,但是我處在很多頁面的代碼需要更改許多日期/插入的情況下。

是否有任何方法可以使Windows 10中的環境像Win XP中那樣運行,即帶有日期字符串的查詢只是以我在Win 10 /中指定的格式簡單地將其插入/更新到訪問日期/時間字段中, IIS,采用美國格式?

首先,您可以簡單地執行以下操作:

SQLStmt = "UPDATE tTable SET DateField = Now() WHERE DateID=1"

如果不是,請強制使用格式並使用八叉索:

SQLStmt = "UPDATE tTable SET DateField = #" & Format(theDate, "yyyy\/mm\/dd") & "# WHERE DateID=1"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM