2015-04-02 30 views
3

我有一個使用MS Access作爲數據庫的.NET應用程序。 該應用程序工作正常,仍然可以在我的電腦上工作。但是,在客戶端PC上重新安裝Windows後,應用程序開始以非常奇怪的方式工作。MS Access排序(比較字符串數據)

在數據庫中的數據是西里爾文(馬其頓語)。 問題是數據庫沒有正確排序字符串。

例如,如果我運行下面的查詢:

SELECT * FROM exampletbl ORDER BY title 

預期的結果應該是:

id title 
1 Александар 
2 Бранко 
3 Влатко 
4 Гоце 
5 Гвозден 
6 Дарко 
7 Ѓоре 
8 Ѓурѓа 

...

與目前訪問它按這種方式:

id title 
1 Александар 
2 Бранко 
3 Влатко 
4 Гоце 
5 Ѓоре 
6 Гвозден 
7 Ѓурѓа 
8 Дарко 

...

我的猜測是區域設置或OLE DB驅動程序沒有在客戶端PC上進行配置,並且該訪問將數據按拉丁字母排序。

p.s.客戶端Windows版本是Windows 7 x86

+0

您可以設置訪問表的排序規則嗎? – 2015-04-02 20:16:40

+0

我知道如何在MySQL上設置排序規則,但我沒有MS Access的豐富經驗,而且我不知道如何設置排序規則。 – Eagle 2015-04-02 20:25:53

回答

3

要更改排序順序(在新數據庫上),請轉到文件>選項>常規>創建數據庫>新建數據庫排序順序。

enter image description here

這會給你

enter image description here

爲了有更改生效當前數據庫進行壓縮和修復。這將在後臺創建一個新的數據庫(感謝Gord Thompson的建議)

+1

*「我不確定如何爲現有數據庫更改它。」* - 執行壓縮和修復數據庫將執行更改,因爲它會在此過程中創建「新數據庫」。 – 2015-04-02 23:45:13

+0

@GordThompson哦,真好!這很有道理 – Brad 2015-04-02 23:47:20

+0

非常感謝你,你救了我的一天,問題解決了:) – Eagle 2015-04-03 08:48:31