我有具有以下格式的 Access 表:
--------------------------------------
|Name |Math|Science|Reading|Civics|
--------------------------------------
|Mike | A | C | A | B |
|John | B | A | A | B |
|Randy| A | C | A | A |
|Sasha| B | C | D | A |
|Max | A | C | A | A |
|Jenn | A | A | A | C |
-----------------------------------
是否有我可以使用的任何 Access Sql 代码或 Access VBA 脚本,以便我可以按以下格式转换(或在查询/结果集中输出)上表?
--------------------
| Name |Grade|
---------------------
|Mike Math | A |
|Mike Science | c |
|Mike Reading | A |
|Mike Civics | B |
|John Math | B |
|John Science | A |
|John Reading | A |
|John Civics | B |
|Randy Math | A |
etc...
到目前为止我发现的是以下 2 个线程,它们显示了如何在 Access 中使用 VBA 将所有字段名称引入数组或只是基本输出。这是我要完成的工作的开始(因为本质上我需要将字段名称引入第一列)。如果我能弄清楚,我会发回。
https://stackoverflow.com/questions/11548697/how-to-list-fields-name-in-table-in-access-using-sql
http://forums.asp.net/t/1143922.aspx
我想知道我是否可以做类似...
For each fieldname in table (where fieldname != Name)
Begin
select
Name + ' ' + Subject as Name,
(select Grade from table where Name = Name and Subject = Subject) as Grade
End
是的,可以使用
UNION ALL
:在表单中创建一个按钮并粘贴以下代码
无论有多少可用字段,此代码都可以正常工作。我在 cha 的 UNION ALL Query 的帮助下开发了代码。结果将存储在名为“Result”的新表中。