使用动态列名填充访问表

时间:2018-06-05 07:00:14

标签: database vba ms-access

这是访问2016 db 我说有50个表总共有100个唯一列 所以我可以创建一个包含所有100列的空白表

所以表1可能有cols 1,10,99,表2可能有cols 2,15,27等 我更喜欢以编程方式遍历数据库中的50个表 当我读取每个表的记录时,动态地关联col名称及其数据,这样我就可以使用当前表中的任何列数据填充100列目标记录列,并写出所有记录。 100 col记录中自然会有很多空白字段。我知道如何遍历所有表,然后获取每个表中的所有列名,并获取表记录数据,但无法弄清楚如何动态创建输出记录,实际上不确定是否可能? 如果可能的话,有人可以帮助提供足够的样本来获得声明或链接吗

1 个答案:

答案 0 :(得分:0)

如果没有看到您的数据,很难肯定地说,但听起来像是交叉表查询会完成这项工作。

  

交叉表查询是一种选择查询。运行交叉表时   查询,结果显示在具有不同的数据表中   来自其他类型数据表的结构。

     

交叉表查询的结构可以使其比a更容易阅读   显示相同数据的简单选择查询,如图所示   如下图。

     

img

     
      
  1. 此选择查询按员工和类别垂直分组摘要数据。

  2.   
  3. 交叉表查询可以显示相同的数据,但是水平和垂直对数据进行分组,以便数据表可以更多   紧凑,易于阅读。

  4.         

    创建交叉表查询时,指定哪些字段包含行   标题,哪个字段包含列标题,以及哪个字段   包含要汇总的值。你可以只使用一个字段   指定要汇总的列标题和值。你可以使用尽可能多的   指定行标题时为三个字段。

         

    您还可以使用表达式生成行标题列   标题或总结的价值观。有关详情,请参阅SQL Aggregate Functions   信息。

         

    img

         
        
    1. 此侧的一列,两列或三列包含行标题。您用作行标题的字段名称显示在顶行   这些专栏。
    2.   
    3. 此处显示行标题。当您使用多个行标题时,交叉表数据表中的行数可以快速增长   字段,因为显示行标题的每个组合。
    4.   
    5. 此侧的列包含列标题和摘要值。请注意,不会显示列标题字段的名称   在数据表上。
    6.   
    7. 此处显示摘要值。
    8.   

Source(以及elsewhere

的更多信息