如何在MS访问中获取表的名称?

时间:2014-07-31 14:07:36

标签: sql ms-access

我有一个表有一个设施列表,然后我有许多其他表,每个设备一个,其中有设备。

我正在尝试创建一个可以将所有这些表组合在一起的查询。问题是设备名称可以从设施到设施重复,因此我需要将设施名称与设备相关联以获得唯一记录。我没有能力编辑这些设备表,因此我不能只在表中添加一列,而设备表中引用设施名称的唯一位置在表本身的标题中。

有什么方法可以将设施表记录链接到设备表的名称?

表格类似于:

设施

  • 列1
  • EI-456
  • EI-497

EI-456

  • 列1
  • 泵1
  • 泵2
  • FT1

EI-497

  • 列1
  • TT1
  • 泵1
  • RISER1

希望这会让它更加清晰。

2 个答案:

答案 0 :(得分:3)

这看起来像是糟糕的设计。你应该:

  • 设施表
  • 设备表(可选,视您的需要而定)
  • 您只存储FacilityId和EquipmentId的位置表(或分配或...)。

我建议您阅读一些关于数据库规范化的内容。从长远来看,这确实会得到回报。

答案 1 :(得分:0)

您要求的内容可以通过代码(vba等)动态完成,使用行记录值填充查询字符串中的column.name。

我会运行初始查询以确定设施名称,然后执行:

将sillyString Dim as String

sillyString = .row(?)。item(“column”)=“EI-456”

strSQL =“SELECT * FROM”& sillyString& “哪里......”