Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何实现多条件下的复杂查询,查询条件可设置、编辑和保存。

逐梦蓝天  发表于:2017-02-16 23:01:51  
复制

现有这样一个查询表(下图),想在此查询表的基础上,建立多条件的查询。

我想要的是:

查询条件通过窗体预先设置好,这些条件在很长的时间内是不会更改的,但苦需要更改,要通过穿体进行编辑并保存。每次打开此查询,不必重新设置查询条,直接按预先设置好的条件直接打开。

查询条件1:舞种为民族舞,且"是否退学"=no,且,金额在1900和3600之间,且,启用日期之最大值距今超过150天

查询条件2:舞种为拉丁舞,且"是否退学"=no,且, 金额不在1900和3600之间,且,启用日期之最大值距今超过120天

查询条件3:舞种为中国舞……

……(以后还要添加更多条件)

最终最到的结果是:满足以上任一条件的记录。


这样的一个查询,如何实现?


 

Top
MDZZ 发表于:2017-02-17 08:10:37
查询合计,记录数统计示例-修改刘小军[Access软件网]http://www.accessoft.com/article-show.asp?id=6595

杜超 发表于:2017-02-17 09:30:29
经典的刘小军主子窗体查询示例详细教程\多条件查询[Access软件网]
http://www.accessoft.com/article-show.asp?id=5580

逐梦蓝天 发表于:2017-02-17 23:32:23
以上老师发的案例不是我想的,我想要的是在另一个“设置条件”窗体里,预先把把条件设置好,并且保存起来。然后打开“查询窗体”时,自动按设置好的条件进行查询。预先设置的条件有很多条。

善解人衣 发表于:2017-02-19 11:41:54

你这是要自己做一个查询设计器呀

首先在设置窗体上设一个保存按钮,代码如下

    Dim strQueryName As String
    Dim strSQL As String
    Dim QDf As QueryDef
    strQueryName = "查询名称"
    strSQL = "这里是根据设置窗体各个设置得到的查询字符串,也就是查询SQL代码"
    Set QDf = CurrentDb.CreateQueryDef(strQueryName, strSQL)



逐梦蓝天 发表于:2017-02-19 15:35:28

是这样吗?提示我有语法错误。



Dim strQueryName As String

    Dim strSQL As String
    Dim QDf As QueryDef
    strQueryName = "查询名称"
    strSQL = "SELECT 最近启用日期.ID, 最近启用日期.姓名, 最近启用日期.舞种, 最近启用日期.班号, 最近启用日期.启用日期之最大值, 学费记录流水账.金额, 最近启用日期.联系电话 "
    FROM 最近启用日期 INNER JOIN 学费记录流水账 ON (最近启用日期.启用日期之最大值 = 学费记录流水账.启用日期) AND (最近启用日期.ID = 学费记录流水账.学生ID) WHERE (((最近启用日期.舞种) = "民族舞") And ((最近启用日期.启用日期之最大值) < DateAdd("d", -136, Date)) And ((学费记录流水账.金额) < 1910))"
    Set QDf = CurrentDb.CreateQueryDef(strQueryName, strSQL)


朱先生 发表于:2017-02-20 12:12:34
strsql = "SELECT 最近启用日期.ID, 最近启用日期.姓名, 最近启用日期.舞种, 最近启用日期.班号, 最近启用日期.启用日期之最大值, 学费记录流水账.金额, 最近启用日期.联系电话 " & _
   " FROM 最近启用日期 INNER JOIN 学费记录流水账 ON  (最近启用日期.ID = 学费记录流水账.学生ID)" & _
   " WHERE (((最近启用日期.舞种) = '民族舞') And ((最近启用日期.启用日期之最大值) < DateAdd('d', -136, Date())) And ((学费记录流水账.金额) < 1910))"
    Set QDf = CurrentDb.CreateQueryDef("strQueryName", strsql)

杜超 发表于:2017-02-20 12:53:50
【access源码】超强通用窗体数据筛选器ActiveFormFilter[Access软件网]
http://www.accessoft.com/article-show.asp?id=4408

总记录:7篇  页次:1/1 9 1 :