以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]不同年,相同月的数据查询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=35143)

--  作者:benhu
--  发布时间:2013/6/25 10:17:00
--  [求助]不同年,相同月的数据查询
一个表中的日期列有不同的年月日,现在想把相同的月份数据提出来,比如2012-02-15,2013-02-10,
在不增加月份提取列的前提下,有没方法查询出相同月份的数据。

PS:不是同年同月的;是不同年,相同月的

--  作者:Bin
--  发布时间:2013/6/25 10:26:00
--  
这样只能循环遍历一行行做对比处理了,你上个例子吧.
--  作者:don
--  发布时间:2013/6/25 10:57:00
--  
Dim flt As String  = 2   \'篩選月份
flt = "SubString(Convert([日期],\'System.String\'),6,IIF(SubString(Convert([日期],\'System.String\'),7,1) In (\'-\',\'/\'),1,2)) =" & flt
Tables("订单").filter = flt

--  作者:Bin
--  发布时间:2013/6/25 10:59:00
--  
以下是引用don在2013-6-25 10:57:00的发言:
Dim flt As String  = 2   \'篩選月份
flt = "SubString(Convert([日期],\'System.String\'),6,IIF(SubString(Convert([日期],\'System.String\'),7,1) In (\'-\',\'/\'),1,2)) =" & flt
Tables("订单").filter = flt

如果跨越年份多呢,如果一直使用到2014年了呢. 那手动写上1990年到2020年所有情况吗? 不科学的.
--  作者:benhu
--  发布时间:2013/6/25 11:04:00
--  回复:(don)Dim flt As String  = 2   '篩...
谢谢DON,要的就是这个结果
--  作者:lsy
--  发布时间:2013/6/25 11:22:00
--  

 


图片点击可在新窗口打开查看此主题相关图片如下:不同年相同月.jpg
图片点击可在新窗口打开查看

--  作者:zaianda
--  发布时间:2013/6/25 14:37:00
--  

Dim str As String
Dim dt As Date
For Each dr As DataRow In DataTables("表A").DataRows
    dt=dr("日期")
    If dt.Month = 6 Then
        str=str & dr("_Identify") & ","   \'合并符合条件数据行的 _Identify
    End If
Next
Tables("表A").Filter = "_Identify In (" & str.Trim(",") & ")"

 

利用 _Identify 对符合的数据进行筛选。

DON兄,你的代码过于繁杂了,新手可能看不懂。


--  作者:don
--  发布时间:2013/6/25 14:46:00
--  
呵呵,完全是套幫助的:
表達式求[月] 不是 :SubString(Convert([日期],\'System.String\'),6,IIF(SubString(Convert([日期],\'System.String\'),7,1) In (\'-\',\'/\'),1,2)) 嗎?