1

有没有办法将另一种语言应用于 Access 表单。我在创建表单时遇到问题,因为数据库值以英语存储,我必须从同一个表中以不同语言生成两个相同的表单。一切都很顺利,直到我到达像 Gender 这样的查找字段。我的表格可选值为“男”和“女”,适用于英文表格,但如何在不更改表格值的情况下以非英文表格更改它

4

1 回答 1

1

一种方法是将主表中的实际值存储为Mand F,例如

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

并创建一个名为 [Genders] 的参考表,如下所示:

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
于 2013-11-01T18:36:36.857 回答