请教:
access VBA,表A里有字段A1是学号,表B里有字段B1也是学号、字段B2是各学科名称、字段B3是各科分数,现要建立一个query:A表和B表联动查询,查询结果有两列(学号、不及格有无),“学号”列就是A表的每一个学号,“不及格有无”列就是该学号在B表中的各科分数如有空白值则为“有不及格”。
我想在Access创建查询,能否直接实现上述查询结果(有两列:学号、不及格有无),不通过VBA,怎么实现,谢谢
Access的query实现方法
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
阿里嘎多学长 2025-06-09 14:58关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
Access VBA Query实现方法
你想实现一个联动查询,查询结果有两列:学号和不及格有无。可以使用Access VBA中的
DAO对象来实现。首先,创建一个新的Query对象:
Dim db As DAO.Database Dim qdf As DAO.QueryDef Set db = CurrentDb() Set qdf = db.CreateQueryDef() qdf.Name = "MyQuery" qdf.SQL = "SELECT A.A1, IIf(Sum(B3) < 60, '有', '无') AS 不及格有无 " & _ "FROM A INNER JOIN B ON A.A1 = B.B1 " & _ "GROUP BY A.A1"这里,我们使用
INNER JOIN将表A和表B联动,然后使用GROUP BY将结果分组。IIf函数用于判断是否有不及格的科目,如果有,则返回‘有’,否则返回‘无’。最后,执行查询:
qdf.Execute dbOpenSnapshot这样,你就可以使用
MyQuery查询结果了。注意:这里假设表A和表B的字段名为A1、B1、B2、B3,实际情况中需要根据你的表结构进行修改。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报