以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  组合框日期格式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=43963)

--  作者:石四
--  发布时间:2013/12/19 16:33:00
--  组合框日期格式

组合框引用日期列数据,用以下代码:

Dim cmb As WinForm.ComboBox
cmb = e.form.Controls("日期")
cmb.ComboList = DataTables("记录").GetComboListString("日期")

 

得到的日期格式含有时间部分,不希望有时间部分,以上代码如何补充?

 

 


--  作者:Bin
--  发布时间:2013/12/19 16:39:00
--  
利用 GetValues 获取到不重复日期列表,然后再循环拼接一个 "|" 即可 拼接过程中 format一下格式为  yyyy-MM-dd http://www.foxtable.com/help/topics/2747.htm
--  作者:lsy
--  发布时间:2013/12/19 16:51:00
--  

Dim str As String = DataTables("订单").GetComboListString("日期")
Dim strs As String
For Each s As String In str.Split("|")
    strs + = Format(Cdate(s.Split(" ")(0)),"yyyy-MM-dd") & "|"
Next
e.Sender.ComboList = strs.Trim("|")

 

 

这样才简单些:

Dim str As String = DataTables("订单").GetComboListString("日期")
Dim strs As String
For Each s As String In str.Split("|")
    strs + = Format(Cdate(s),"yyyy-MM-dd") & "|"
Next
e.Sender.ComboList = strs.Trim("|")

[此贴子已经被作者于2013-12-19 16:59:46编辑过]

--  作者:石四
--  发布时间:2013/12/19 16:55:00
--  

不清楚怎么用,改成:

cmb.ComboList = DataTables("记录").GetComboListString("日期 | yyyy-MM-dd ")

和:

 

cmb.ComboList = DataTables("记录").GetComboListString("日期" | yyyy-MM-dd )

 

都不通.


--  作者:Bin
--  发布时间:2013/12/19 17:00:00
--  
你到底有没看我2楼的解释,和3楼LSY的代码的?
--  作者:石四
--  发布时间:2013/12/19 17:06:00
--  
以下是引用lsy在2013-12-19 16:51:00的发言:
Dim str As String = DataTables("订单").GetComboListString("日期")
Dim strs As String
For Each s As String In str.Split("|")
    strs + = Format(Cdate(s.Split(" ")(0)),"yyyy-MM-dd") & "|"
Next
e.Sender.ComboList = strs.Trim("|")

我是在窗口设置一个组合框来选择日期,用上面的代码还是报借.


--  作者:Bin
--  发布时间:2013/12/19 17:07:00
--  
上例子.
--  作者:有点甜
--  发布时间:2013/12/19 20:04:00
--  
 楼主,要灵活变通一下哦,表名得改一下吧?控件得改一下吧?

Dim cmb As WinForm.ComboBox
cmb = e.form.Controls("日期")
Dim str As String = DataTables("记录").GetComboListString("日期")
Dim strs As String
For Each s As String In str.Split("|")
    strs + = Format(Cdate(s.Split(" ")(0)),"yyyy-MM-dd") & "|"
Next
cmb.ComboList = strs.Trim("|")

--  作者:石四
--  发布时间:2013/12/20 10:51:00
--  
以下是引用有点甜在2013-12-19 20:04:00的发言:
 楼主,要灵活变通一下哦,表名得改一下吧?控件得改一下吧?

Dim cmb As WinForm.ComboBox
cmb = e.form.Controls("日期")
Dim str As String = DataTables("记录").GetComboListString("日期")
Dim strs As String
For Each s As String In str.Split("|")
    strs + = Format(Cdate(s.Split(" ")(0)),"yyyy-MM-dd") & "|"
Next
cmb.ComboList = strs.Trim("|")

哦,都晕头转向了:)


--  作者:石四
--  发布时间:2013/12/20 13:03:00
--  

筛选按钮代码:

Dim Filter As String
With e.Form.Controls("Button2")
    If .Value IsNot Nothing Then
        Filter = "日期 = \'" & .Value & "\'"
    End If
End With
If Filter > "" Then
    Tables("记录").Filter = Filter
End If

 

报错,提示:

 


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

 

是不是因为日期格式改变的原因?