繁体   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