Office中国论坛/Access中国论坛
标题: 请问查询的多项选择问题 [打印本页]
作者: 小硬盘 时间: 2006-6-25 23:17
标题: 请问查询的多项选择问题
具体情况是这样的:
我有一个表,表里面有学生的姓名,性别,语文,数学,英语,物理,化学成绩.
我现在建立一个查询,在姓名的一栏设置条件----------[Forms]![窗体1]![学生姓名]
然后基于查询建立报表.
那么,如果我双击报表,按提示输入姓名后,报表中会出现对应学生的数据.
但问题是,仅仅是一个学生.
也就是单项选择
请问假如我要多项选择,就是说我要查询出n个人的成绩列在同一张报表中,应该怎么设置条件呢
相应的窗体又应该怎么做呢.
谢谢大家帮个忙[attach]18717[/attach]
[此贴子已经被作者于2006-6-25 16:36:33编辑过]
作者: andymark 时间: 2006-6-25 23:32
把要打印或预览的学生添加到一个列表框,再以此为条件,输出报表
作者: 小硬盘 时间: 2006-6-26 00:03
请问怎么将学生姓名列成一个列表框啊
作者: fan0217 时间: 2006-6-26 00:20
将要查询的学生姓名,用or串起来放在sql的where子句中。
将列表框的行来源设置成学生表的相关字段就可以了,用向导。把列表框的多重选择属性设置成简单。
余下的就是通过循环把学生姓名用or串起来放入sql语句中。
如果不明白可以将你的例子放上来。
作者: 小硬盘 时间: 2006-6-26 00:37
例子已经传到贴纸上了.这个是单选的情况
非常感谢楼上的大哥们
[此贴子已经被作者于2006-6-25 16:37:45编辑过]
作者: fan0217 时间: 2006-6-26 01:28
[attach]18719[/attach]
Private Sub List0_AfterUpdate()
Dim ctl As Control
Dim varItm As Variant
Dim strSQL As String
Dim strSqlWhere As String
Set ctl = Me.List0
For Each varItm In ctl.ItemsSelected
strSqlWhere = strSqlWhere & " or 学生姓名 like " & Chr(39) & ctl.ItemData(varItm) & Chr(39)
Next
If strSqlWhere <> "" Then
strSqlWhere = "(" & Right(strSqlWhere, Len(strSqlWhere) - 4) & ")"
strSQL = "SELECT * FROM 贴纸记录 WHERE " & strSqlWhere
Else
strSQL = "SELECT * FROM 贴纸记录 "
End If
Me.子窗体.Form.RecordSource = strSQL
Me.子窗体.Form.Requery
End Sub
Private Sub Form_Load()
Me.List0.RowSource = "SELECT DISTINCT 贴纸记录.学生姓名 FROM 贴纸记录;"
End Sub
作者: 小硬盘 时间: 2006-6-26 18:05
楼上的大哥,我已经把你的实例看过了.
非常感谢你的多选窗体
可是怎么实现选出来的人的数据在同一张报表里呢,
作者: fan0217 时间: 2006-6-26 19:28
能筛选出来,还不能做成报表吗?多变通变通。
作者: 小硬盘 时间: 2006-6-26 21:10
我再试试吧,
刚学没有多久
谢谢督促
[此贴子已经被作者于2006-6-26 13:16:24编辑过]
作者: hi-wzj 时间: 2006-6-26 21:45
更初级一点的,可以将要查询的学员保存在一个表里,然后通过匹配查询向导来完成。
作者: 行云 时间: 2006-6-27 03:54
不错
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |