2013-11-01 45 views
1

有什麼方法可以將其他語言應用於Access表單。我在創建表單時遇到了一個問題,因爲DB值以英文存儲,我必須從不同語言的相同表中生成兩個相同的表單。一切都很順利,直到我到達像性別這樣的查看字段。我的表格可選值爲「男性」和「女性」,對英語形式有好處,但如何在不更改表格值的情況下更改我的非英語表格MS Access只有多種語言支持形式

回答

1

一種方法是將實際值在主表中作爲MF,例如

ID FirstName Gender 
-- --------- ------ 
1 Gord  M  
2 Angie  F  

,並創建一個名爲[性別]像這樣的參考表:

TableValue Language Translation 
---------- -------- ----------- 
M   fr_ca  masculin 
F   fr_ca  féminin  
M   en_us  Guy   
F   en_us  Girl  
M   en_ca  Male  
F   en_ca  Female  

在您的形式,創建一個名爲txtFormLanguage隱藏綁定文本框,並在Form_Load事件處理程序來填充它是這樣的:

Private Sub Form_Load() 
    Me.txtFormLanguage = IIf(IsNull(Me.OpenArgs), "en_ca", Me.OpenArgs) 
End Sub 

現在,您的組合框可以使用以下爲Row Source ...

SELECT TableValue, Translation FROM Genders WHERE (((Genders.Language)=[txtFormLanguage])); 

...,並具有類似於下面的其它性能:

綁定列:1分
列計數:2個
列寬:0;

當打開形式 「1」 (通常不OpenArgs)...

Docmd.OpenForm "ClientForm", acNormal, , , acFormEdit, acWindowNormal 

...它默認爲en_ca(英國,加拿大)和組合框顯示

Male 
Female 

當表單打開fr_ca(法國,加拿大)...

Docmd.OpenForm "ClientForm", acNormal, , , acFormEdit, acWindowNormal, "fr_ca" 

...組合框顯示

masculin 
féminin