以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不知能否实现日期的这种下拉显示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=111458) |
-- 作者:有点辣 -- 发布时间:2017/12/22 11:02:00 -- 不知能否实现日期的这种下拉显示 想对日期字段做查询,不想用起止日期的方式 想要的效果是:根据日期字段的值,比如2017-01-01,2071-07-08,在查询的下拉控件里显示 2017-01|2017-08 即:根据日期字段的值,动态生成 年-月 的值供选择,查询时,根据所选年月来查当月的记录 折腾了很久,没做出来,望老师点拨一下 主要是不知怎么生成2017-01这种年-月的格式。
|
-- 作者:有点甜 -- 发布时间:2017/12/22 12:07:00 -- 如果是access、内部数据源,这样写
控件.ComboList = DataTables("订单").SQLGetComboListString("format(日期列, \'yyyy-MM\')")
查询的时候,截取年、月,然后合成条件,如
Dim ary() as string = 值.split("-") Dim d As Date = New Date(ary(0), ary(1), 1) Tables("表A").Filter = "日期列 >= #" & d & "# and 日期列 < #" & d.AddMonths(1) & "#"
|
-- 作者:有点辣 -- 发布时间:2017/12/22 13:09:00 -- 老师代码是不是有问题? 我照着抄,下拉不出值,把SQLGetComboListString改为 GetComboListString,提示 无法找到列 format(出库日期。 |
-- 作者:有点甜 -- 发布时间:2017/12/22 14:28:00 -- 以下是引用有点辣在2017/12/22 13:09:00的发言:
老师代码是不是有问题? 我照着抄,下拉不出值,把SQLGetComboListString改为 GetComboListString,提示 无法找到列 format(出库日期。
必须要用 SQLGetComboListString,不能用 GetComboListString。
否则,你就必须循环每一行,转换成年月的形式,再赋值给下拉。 |
-- 作者:有点辣 -- 发布时间:2017/12/22 14:33:00 -- 用SQLGetComboListString不出结果,是sql数据源 |
-- 作者:有点甜 -- 发布时间:2017/12/22 14:49:00 -- 以下是引用有点辣在2017/12/22 14:33:00的发言:
用SQLGetComboListString不出结果,是sql数据源
sqlserver数据源这样写
控件.ComboList = DataTables("订单").SQLGetComboListString("CONVERT(VARCHAR(7),日期列,120)")
|
-- 作者:有点辣 -- 发布时间:2017/12/22 14:57:00 -- 可以下拉了 但下拉的年月没有排序,想按日期排序 我写成 DataTables("订单").SQLGetComboListString("CONVERT(VARCHAR(7),出库日期,120)",,"出库日期") 又不出值了。 |
-- 作者:有点甜 -- 发布时间:2017/12/22 15:45:00 -- 还是写代码吧
Dim ls As new List(Of String) [此贴子已经被作者于2017/12/22 15:44:50编辑过]
|