以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  多条件下筛选,按多个列和时间,如例子,不知道代码怎么写? 请专家指教!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55712)

--  作者:jinxilin
--  发布时间:2014/8/21 20:17:00
--  多条件下筛选,按多个列和时间,如例子,不知道代码怎么写? 请专家指教!
多条件下筛选,按多个列和时间,不知道代码怎么写? 

接手人接下任务, 先判断15天内是不是已经接过发任务人的任务。 

我写出来好像不对,不知道是什么原因?

请专家指教!




If e.Col.name = "单击_接下任务" Then
    Dim r As Row = Tables("任务总部").Current
    r.DataRow.Load() \'重新加载此行的数据
    Dim drs As List(Of DataRow)   \'查找接手人在一段时间内是否接过我的任务\'
    Dim dt1 As Date = Date.Today.AddDays(-15) \'获取第一天
    Dim dt2 As Date = Date.Today.AddDays(1) \'获取最后一天
    Dim daa As String = r("发任务人")
    drs = DataTables("任务流水表").Select("[接任务人] = \'" & User.Name  & " \' And [发任务人] = \'" & daa & " \'  And [接下时间] >=  \'" & dt1 & " \' And [接下时间] <=  \'" & dt2 & " \' " )   \'查找同一任务 15天内是否接过任务
    If drs IsNot Nothing Then \'如果找到的话
        MessageBox.Show("亲15天内接过此人的任务!")
        
    Else
        Dim ww As DataRow = DataTables("任务流水表").AddNew() \'增加一行
        Dim xx As Row = Tables("任务总部").Current
        ww("发任务人") = xx("发任务人")
        ww("接任务人") = User.Name
        ww("任务内容") = xx("任务内容")
        
        MessageBox.Show("已接下任务!")
        
        
    End If
End If


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多条件与时间的筛选.rar


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



--  作者:有点甜
--  发布时间:2014/8/21 20:24:00
--  
If e.Col.name = "单击_接下任务" Then
    Dim r As Row = Tables("任务总部").Current
    r.DataRow.Load() \'重新加载此行的数据
   
   
    Dim dt1 As Date = Date.Today.AddDays(-15) \'获取第一天
    Dim dt2 As Date = Date.Today.AddDays(1) \'获取最后一天
    Dim daa As String = r("发任务人")
    Dim fdr As DataRow = DataTables("任务流水表").find("[接任务人] = \'" & User.Name  & "\' And [发任务人] = \'" & daa & "\'  And [接下时间] >=  #" & dt1 & "# And [接下时间] <=  #" & dt2 & "# " )   \'查找同一任务 15天内是否接过任务
    If fdr IsNot Nothing Then \'如果找到的话
        MessageBox.Show("亲15天内接过此人的任务!")
       
    Else
        Dim ww As DataRow = DataTables("任务流水表").AddNew() \'增加一行
        Dim xx As Row = Tables("任务总部").Current
        ww("发任务人") = xx("发任务人")
        ww("接任务人") = User.Name
        ww("任务内容") = xx("任务内容")
       
        MessageBox.Show("已接下任务!")
       
       
       
    End If
End If

--  作者:jinxilin
--  发布时间:2014/8/21 20:45:00
--  
按版主的代码改了,还是不行哦,


一直显示找得到记录,便实际上表是空白的,为什么会这样呢?



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


--  作者:有点甜
--  发布时间:2014/8/21 20:49:00
--  

呃,测试没有任何问题

 

If e.Col.name = "单击_接下任务" Then
    Dim r As Row = Tables("任务总部").Current
    r.DataRow.Load() \'重新加载此行的数据
   
   
    Dim dt1 As Date = Date.Today.AddDays(-15) \'获取第一天
    Dim dt2 As Date = Date.Today.AddDays(1) \'获取最后一天
    Dim daa As String = r("发任务人")
    Dim fdr As DataRow = DataTables("任务流水表").find("[任务内容] = \'" & r("任务内容") & "\' and [接任务人] = \'" & User.Name  & "\' And [发任务人] = \'" & daa & "\'  And [接下时间] >=  #" & dt1 & "# And [接下时间] <=  #" & dt2 & "# " )   \'查找同一任务 15天内是否接过任务
    If fdr IsNot Nothing Then \'如果找到的话
        MessageBox.Show("亲15天内接过此人的任务!")
       
    Else
        Dim ww As DataRow = DataTables("任务流水表").AddNew() \'增加一行
        Dim xx As Row = Tables("任务总部").Current
        ww("发任务人") = xx("发任务人")
        ww("接任务人") = User.Name
        ww("任务内容") = xx("任务内容")
       
        MessageBox.Show("已接下任务!")
       
       
       
    End If
End If


--  作者:jinxilin
--  发布时间:2014/8/21 20:56:00
--  
筛选不需要任务内容的。 


我是外部数据源,SQl Server的,是不是筛选代码要改呢?
[此贴子已经被作者于2014-8-21 20:56:40编辑过]

--  作者:jinxilin
--  发布时间:2014/8/21 21:06:00
--  
版主后面的代码可以的。谢谢啊。 图片点击可在新窗口打开查看