如何在Microsoft Access中为单词分配单词?

时间:2014-09-07 15:55:37

标签: database ms-access

我正在Access中创建一个带有GUI的数据库。在数据库中,我有一个名为“状态”的列,其中包含一堆数字,如“01,02,03,04,02,02,06 ....”每个数字表示类似01表示空,02表示等待打电话等。我创建了一个GUI,在“状态”文本框中,我希望显示这些数字的含义,因为现在只显示“状态列”中的数字。我该怎么做?状态列中的数字是否必须是字符串类型或类型为整数?

2 个答案:

答案 0 :(得分:3)

此问题的常见解决方案是创建一个包含两列名为ID和Name的表,然后将您的代码放在第一列中,并将它们的"含义"在第二。现在,您可以使用SQL JOINS将第二个表连接到主表,并创建一个仅显示含义的视图,而不是那些01,02值。

新表看起来像这样:

ID (int)        Name (varchar)
--------        --------------
       1        Emtpy
       2        Waiting
       3        Ready

等等。也就是说,您将在此表中添加所有可能的状态,并为其分配唯一ID。然后在主表中使用这些ID作为外键。然后可以通过SQL连接这两个表。我记得Access甚至允许您通过列属性进行此链接。 Haven已经使用了很多年,但是其他人可能会引导你了解这个功能。

答案 1 :(得分:2)

在Access行话中你需要...

  • 添加另一个表,其中包含两个名为(例如)StatusCode和StatusMeaning的字段。使StatusCode成为主键;假设它不一定是'我将其类型保留为文本。

  • 使用每个可能代码的含义加载新表

  • 进入“关系”窗口并在两个表之间添加一对多关系。

  • 创建新的选择查询;在提示符下,选择两个表,然后将原始表的所有字段+新的StatusMeaning字段添加到查询中

  • 将表单的RecordSource属性设置为查询而不是原始表

现在,您可以将文本框的ControlSource更改为StatusMeaning并获得所需的输出。

(PS - 在我看到dotNET的答案弹出之前我开始写这个,但是在发布之前对其进行了相应的修改以使其互补:varchar = Text字段类型,外键=什么是关系窗口设置,使用SQL JOINS和创建视图是使用查询构建器为您做的事情。)