以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  想建一个下拉日期筛选框  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60642)

--  作者:xjc620
--  发布时间:2014/11/28 10:49:00
--  想建一个下拉日期筛选框
问题是列日期格式是年-月-日,下拉框想让它显示年-月,然后筛选出出选择的一个月的数
--  作者:Bin
--  发布时间:2014/11/28 10:54:00
--  

指定月份数据

例如2011年6月份的订单:

Dim y As Integer = 2011 \'指定年份
Dim 
m As Integer = 6 \'指定月份
Dim 
dt1 As New Date(ym1)
Dim 
dt2 As New Date(ymDate.DaysInMonth(2011,6)) \'获取该月的最后一天
Dim 
Filter As String
Filter
 = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#" 
Tables
("订单").Filter = Filter


--  作者:xjc620
--  发布时间:2014/11/28 11:24:00
--  
这个应该写在下拉框的什么事件
--  作者:Bin
--  发布时间:2014/11/28 11:27:00
--  
看你具体的情况, 用自己设计的下来窗口,就写在按钮里. 搞不定就上例子.
--  作者:xjc620
--  发布时间:2014/11/28 11:30:00
--  
密码158998,想在日新车队新建的下拉框里选择某年某月,自动筛选出二保日期列所属于的月份
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日新车队管理系统.foxdb
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日新车队数据库.rar



--  作者:有点甜
--  发布时间:2014/11/28 11:53:00
--  
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日新车队管理系统.foxdb


--  作者:xjc620
--  发布时间:2014/11/28 12:30:00
--  
Dim str As String = ""
For i As Integer = Date.Today.Year To Date.Today.Year - 10 Step -1
    For j As Integer = 12 To 1 Step -1
        str &= i & "年" & format(j, "00") & "月|"
    Next
Next

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cbx.ComboList = str.Trim("|")

老师这个在下拉窗口显示的只到2014年以前,2014年以后的没有啊,怎么才能做到

--  作者:xjc620
--  发布时间:2014/11/28 12:44:00
--  
Dim str As String = ""
For i As Integer = Date.Today.Year To Date.Today.Year - 10 Step -1
    For j As Integer = 12 To 1 Step -1
        str &= i & "年" & format(j, "00") & "月|"
    Next
Next

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cbx.ComboList = str.Trim("|")
这个下拉显示的年月能不能根据日期列显示,就是日期列有哪个年月就显示哪个年月,没有的不显示.比如二保日期列没有2014月8月,下拉就不显示

--  作者:有点甜
--  发布时间:2014/11/28 14:16:00
--  

Dim str As String = ""
Dim maxd As Date = DataTables("当月二保").Compute("max(应维护日期)")
Dim mind As Date = DataTables("当月二保").Compute("min(应维护日期)")
Do While mind <= maxd
    str &= Format(mind, "yyyy年MM月")
    mind = mind.AddMonths(1)
Loop

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cbx.ComboList = str.Trim("|")


--  作者:xjc620
--  发布时间:2014/11/28 14:20:00
--  
老师这个显示有问题,一点下拉全显示在一行了