Foxtable(狐表)用户栏目专家坐堂 → [求助]根据数据填充时,只有一个时间有效。


  共有6381人关注过本帖树形打印复制链接

主题:[求助]根据数据填充时,只有一个时间有效。

帅哥哟,离线,有人找我吗?
yiyinggeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:857 威望:0 精华:0 注册:2013/3/11 16:42:00
[求助]根据数据填充时,只有一个时间有效。  发帖心情 Post By:2013/4/18 11:36:00 [只看该作者]

对编码几乎不理解,请教如何修改。

 

Dim f As New Filler
f.SourceTable = DataTables("员工工资明细表") '指定数据来源
f.SourceCols = "日期,姓名,工资" '指定数据来源列
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If f.Filter >"" Then
            f.Filter = f.Filter & " And "
        End If
        f.Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If f.Filter >"" Then
            f.Filter = f.Filter & " And "
        End If
        f.Filter =  "日期 <= #" & .Value & "#"
    End If
End With
f.DataTable = DataTables("员工日工资表") '指定数据接收表
f.DataCols = "日期,姓名,当天工资" '指定数据接收列
f.Fill() '填充数据


 回到顶部
帅哥哟,离线,有人找我吗?
XYT
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/4/18 11:39:00 [只看该作者]

什么意思,只有1个日期的才行吗,其他不行?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/18 11:40:00 [只看该作者]

对编码几乎不理解,请教如何修改。

 

Dim f As New Filler
f.SourceTable = DataTables("员工工资明细表") '指定数据来源
f.SourceCols = "日期,姓名,工资" '指定数据来源列
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If f.Filter >"" Then 
这个不是全局变量. 属于永远不会执行的代码.
            f.Filter = f.Filter & " And "
        End If 
        f.Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If f.Filter >"" Then    
            f.Filter = f.Filter & " And "
        End If 
        f.Filter =  "日期 <= #" & .Value & "#"
    End If
End With
f.DataTable = DataTables("员工日工资表") '指定数据接收表
f.DataCols = "日期,姓名,当天工资" '指定数据接收列
f.Fill() '填充数据


[此贴子已经被作者于2013-4-18 14:32:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yiyinggeng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:857 威望:0 精华:0 注册:2013/3/11 16:42:00
  发帖心情 Post By:2013/4/18 12:26:00 [只看该作者]

请教如何修改,2个日期能够同时有效。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/18 14:30:00 [只看该作者]

Dim f As New Filler
f.SourceTable = DataTables("员工工资明细表") '指定数据来源
f.SourceCols = "日期,姓名,工资" '指定数据来源列
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If f.Filter >"" Then
            f.Filter = f.Filter & " And "
        End If
        f.Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If f.Filter >"" Then   这个不是全局变量. 属于永远不会执行的代码.
            f.Filter = f.Filter & " And "
        End If
        f.Filter = f.Filter &  "日期 <= #" & .Value & "#"
    End If
End With
f.DataTable = DataTables("员工日工资表") '指定数据接收表
f.DataCols = "日期,姓名,当天工资" '指定数据接收列
f.Fill() '填充数据

 


 回到顶部
帅哥哟,离线,有人找我吗?
yiyinggeng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:857 威望:0 精华:0 注册:2013/3/11 16:42:00
  发帖心情 Post By:2013/4/18 14:55:00 [只看该作者]

这里如何像 筛选窗口中那样定义组合成多种条件的。这一句只是解决了2个条件的。


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/18 14:59:00 [只看该作者]

以下是引用yiyinggeng在2013-4-18 14:55:00的发言:

这里如何像 筛选窗口中那样定义组合成多种条件的。这一句只是解决了2个条件的。

有什么条件 全部拼接进去即可.

 回到顶部
帅哥哟,离线,有人找我吗?
yiyinggeng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:857 威望:0 精华:0 注册:2013/3/11 16:42:00
  发帖心情 Post By:2013/4/18 15:11:00 [只看该作者]

这是设计查询窗口窗口时多个条件的代码设置。

我用Filler填充时,定义这些条件时,应怎样编写代码。试了半天,不行。代码很多理解太差。

现阶段,只能边比着葫芦画瓢。

 

 

Dim Filter As String
With
e.Form.Controls("cmbProduct")
   
If .Value IsNot Nothing Then
        Filter =
"产品 = '" & .Value & "'"
   
End If
End
With
With
e.Form.Controls("cmbCustomer")
   
If .Value IsNot Nothing Then
       
If Filter > "" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"客户 = '" & .Value & "'"
   
End If
End
With
With
e.Form.Controls("cmbEmployee")
   
If .Value IsNot Nothing Then
       
If Filter >"" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"雇员 = '" & .Value & "'"
   
End If
End
With
With
e.Form.Controls("StartDate")
   
If .Value IsNot Nothing Then
       
If Filter >"" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"日期 >= #" & .Value & "#"
   
End If
End
With
With
e.Form.Controls("EndDate")
   
If .Value IsNot Nothing Then
       
If Filter >"" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"日期 <= #" & .Value & "#"
   
End If
End
With
If
e.Form.Controls("rdoYifu").Checked = True ' 如果付款状态选择了"已付"
   
If Filter >"" Then
        Filter = Filter &
" And "
   
End If
    Filter = Filter &
"已付款 = True"
End
If
If
e.Form.Controls("rdoWeifu").Checked = True ' 如果付款状态选择了"未付"
    If
Filter >"" Then
       
Filter = Filter & " And "
   
End If
   
Filter = Filter & "已付款 = False Or 已付款 Is Null"
End If
If
Filter > "" Then
    Tables(
"订单").Filter = Filter
End If


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/18 15:14:00 [只看该作者]

代码看起来没问题啊.怎么会没效果呢.你在最后MEssagebox.SHow一下 Filter看看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/18 15:18:00 [只看该作者]

好好看看这一章:

http://www.foxtable.com/help/topics/1058.htm

 

实在搞不定,就做个简单的例子发上来。


 回到顶部
总数 12 1 2 下一页