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