Access交流中心

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

如何主窗体中对子窗体的记录进行日期查询

大洪  发表于:2007-11-28 14:11:18  
复制

在主窗体中用子窗体的filter没办法进行某一段时间的查询

 

Top
马丽 发表于:2007-11-28 14:48:27

可以的呀,相当于子窗体中数据源的where条件



叶海峰 发表于:2007-11-28 15:10:57

Dim strWhere As String  '定义条件字符串
   
    strWhere = "" '设定初始值-空字符串
       
    If Not IsNull(Me.[Cross Reference]) Then
        '有输入
        strWhere = strWhere & "([Cross Reference] like '*" & Me.[Cross Reference] & "*') AND "
    End If
   
    '判断【领用人】条件是否有输入的值
    If Not IsNull(Me.[Our Reference]) Then
        '有输入
        strWhere = strWhere & "([Our Reference] like '*" & Me.[Our Reference] & "*') AND "
    End If
      
    If Len(strWhere) > 0 Then
        '有输入条件
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If
   
    Me![products 子窗体].Form.Filter = strWhere
    Me![products 子窗体].Form.FilterOn = True

 

参考一下,是不是漏了最后的.Form.FilterOn = True



何锋 发表于:2007-11-28 19:52:59
在主窗体中添加日期的“起始日期”“结束日期”,子窗体的数据源中,将日期字段设定日期条件,">=“起始日期”  and <=“结束日期”",就可以了!

咱家是猫 发表于:2007-11-29 22:06:03

想多嘴一句,很多人都喜欢这么用

strWhere = "" '设定初始值-空字符串

有这句也没这句有什么区别呢?刚声明的String本身就是""

而且这样一路判断下去,一路填加上去,到最后,还是会多出一个" AND ",还要专门去掉它

建议:

StrWhere="1=1"

If Not IsNull(Me.[Cross Reference]) Then strWhere = strWhere & " And ([Cross Reference] like '*" & Me.[Cross Reference] & "*')"

If Not IsNull(Me.[Our Reference]) Then strWhere = strWhere & " And ([Our Reference] like '*" & Me.[Our Reference] & "*')"
多简单,End If也不要了,最后也不用再专门处理StrWhere了.



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