2010-09-13 80 views
5

我有一個帶Access前端的SQL Server 2008數據庫。我的問題是Access無法識別SQL Server的日期,因爲它們的格式不同。MS-Access前端無法識別來自SQL Server的日期

的SQL Server-S格式爲YYYY-MM-DD
訪問格式爲DD-MM-YYYY

當顯示在文本框中的日期,它顯示爲一個字符串(不旁邊的小日曆圖標)。
無論如何,我可以配置我的Access前端,以便它可以識別SQL Server的日期嗎?

乾杯。

+0

這是鏈接表嗎? – 2010-09-13 15:57:30

+3

我覺得像SQL Server中的值是以字符串格式存儲的。你可以驗證它們是否存儲在實際的日期列中? – 2010-09-13 16:26:03

+0

是的,他們被存儲爲日期,是的它是一個鏈接表:) – 2010-09-14 09:51:28

回答

4

如果您將日期存儲在SQL服務器中作爲數據類型「Date」或「Date2」,請嘗試將它們更改爲「DateTime」我有這個問題,將數據從SQL Server 2008R2鏈接到Access 97,訪問沒有看到它作爲日期並將其當作文本對待

+0

你是一個紳士和學者。 – 2010-09-14 11:05:33

+2

這裏沒有涉及的另一件事是,如果您使用SQL Server遷移助手將Access數據升遷到SQL Server,則任何具有SQL Server中無效值的日期列將作爲文本(!!!)在SQL Server中創建。 SSMA允許您在升遷之前運行報表,因此它會標記具有無效日期的表格(儘管它不會告訴您哪些字段)。我只是爲了完整性而拋棄它,因爲我在過去的10天內遇到了它。 – 2010-09-14 20:28:38

+2

這對我在Access 2010中不起作用......我必須在SQL視圖中使用CDate([Date])顯式地投射日期 – wwv 2012-03-29 15:12:39

3

Access的Microsoft SQL Server遷移助手確實將日期作爲日期格式移動。用戶遇到的問題是使用驅動程序。 Microsoft有一個新的DLL,必須放在客戶端工作站上(或Citrix的服務器上)。 一旦完成,MS Access中的所有日期都將正常工作。 我最新的Access 2010經驗與Access 2003完全相同。它需要一個DLL。 從那裏開始,使用DNS-Less連接字符串進行調查。

+4

您是否有鏈接可以下載此DLL的鏈接? – BlueMagma 2013-01-28 10:10:18

1

我剛剛跑過來,謝謝大家的意見。

我還在爲SQL Server後端(Access 2010/SQL Server 2014)開發一個Access UI,並剛剛遇到此問題。 Date數據類型需要3個字節的存儲空間,並且由於我不需要時間組件,這就是我想要的。就個人而言,我使用SmallDateTime,與DateTime 8相比,它需要4個字節。還有需要6-8個字節的DateTime2。

我創建了一個使用每個日期數據類型來測試輸入格式的四字段表,我認爲SmallDateTime會爲我做竅門。