Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA或SQL将数据分组到两列下?_Sql_Vba_Excel_Ms Access - Fatal编程技术网

VBA或SQL将数据分组到两列下?

VBA或SQL将数据分组到两列下?,sql,vba,excel,ms-access,Sql,Vba,Excel,Ms Access,MS Access查询提供以下输出: 我正在尝试用VBA对上述数据进行排序,并将其转换为Excel表格,格式如下: 我试图使用文章中的指令,但是我的查询在一个日期范围内给出了巨大的输出,大约30000行,这需要一种不同的排序方法 我试图使用以下逻辑 首先从查询中提取唯一的序列项 提取该序列的所有唯一用户 在2级嵌套循环中进一步使用串行和用户组合,将同一查询中的“值”和“结果”提取到一个单独的表中,并一直追加到该表中,直到我循环了所有串行 我无法获取此项的正确代码。请帮忙。我所尝试的: 第一个

MS Access查询提供以下输出:

我正在尝试用VBA对上述数据进行排序,并将其转换为Excel表格,格式如下:

我试图使用文章中的指令,但是我的查询在一个日期范围内给出了巨大的输出,大约30000行,这需要一种不同的排序方法

我试图使用以下逻辑

  • 首先从查询中提取唯一的序列项
  • 提取该序列的所有唯一用户
  • 在2级嵌套循环中进一步使用串行和用户组合,将同一查询中的“值”和“结果”提取到一个单独的表中,并一直追加到该表中,直到我循环了所有串行
  • 我无法获取此项的正确代码。请帮忙。我所尝试的:

    第一个问题

    从测试结果中选择DISTINCT(serial)作为序列号\u Tbl;
    
    第二个问题

    从测试结果中选择DISTINCT(user)作为用户名,其中serial=var\u serial;
    
    我应该遵循以下方法吗


    我将从表Test\u Results\u Tbl到它自己做几个左连接,并查找每个具有不同记录的测试结果

    我快速复制了您的输入表,下面是我创建的查询的sql

    SELECT DISTINCT test.SerialNo, test.User, test.StartDate, test_1.TestValue, test_1.Result, test_2.TestValue, test_2.Result, test_3.TestValue, test_3.Result
    FROM ((test LEFT JOIN test AS test_1 ON (test.StartDate = test_1.StartDate) AND (test.User = test_1.User) AND (test.SerialNo = test_1.SerialNo)) LEFT JOIN test AS test_2 ON (test.StartDate = test_2.StartDate) AND (test.User = test_2.User) AND (test.SerialNo = test_2.SerialNo)) LEFT JOIN test AS test_3 ON (test.StartDate = test_3.StartDate) AND (test.User = test_3.User) AND (test.SerialNo = test_3.SerialNo)
    WHERE (((test_1.Testname)="test1") AND ((test_2.Testname)="test2") AND ((test_3.Testname)="test3"));
    
    并且是查询设计视图中的图片


    这是查询结果的图片。

    谢谢!伟大的方法…工作完美:-)。。。我需要对46个测试集表执行相同的操作…access是否允许47个从表到自身的联接?根据一个查询中的最大值为32个表。另一个选项是:创建一个表,其中包含SerialNo、User、StartDate字段,以及每个测试的两个字段(值、结果)。使用追加查询为前15-20个测试插入记录,然后使用更新查询更新其余测试。