Foxtable(狐表)用户栏目专家坐堂 → [求助]Find(相同年月)的表达式如何写?


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

主题:[求助]Find(相同年月)的表达式如何写?

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


加好友 发短信
等级:五尾狐 帖子:1039 积分:12926 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]Find(相同年月)的表达式如何写?  发帖心情 Post By:2012/4/15 14:34:00 [只看该作者]

表A为数据接收表,表B为数据输出表。

 

要求,当表A输入"姓名"后,在表B中查找"姓名"相同,"表A日期"和"表B时期"为同年同月时,将表B的"输出1","输出2","输出3"列的内容,填充到表A的"接收1","接收2","接收3"列。

 

请问在DataColChanged事件中,表达式应该如何书写。

 

 

Select Case e.DataCol.Name
    Case "姓名"
        If e.NewValue IsNot Nothing Then
            Dim dr As DataRow

            dr = DataTables("表B").Find("姓名 = '" & e.DataRow("姓名") & "'")'(这行不会写图片点击可在新窗口打开查看  

            If dr IsNot Nothing Then
                e.DataRow("接收1") = dr("输出1")
                e.DataRow("接收2") = dr("输出2")
                e.DataRow("接收3") = dr("输出3")
            End If
        End If
End Select


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


加好友 发短信
等级:五尾狐 帖子:1039 积分:12926 威望:0 精华:0 注册:2011/5/29 15:19:00
自问自答。  发帖心情 Post By:2012/4/15 15:46:00 [只看该作者]

Select Case e.DataCol.Name
    Case "姓名","表A日期"
        If e.NewValue IsNot Nothing Then
            Dim y As Integer = e.DataRow("表A日期").Year
            Dim m As Integer = e.DataRow("表A日期").Month
            Dim d As Integer = Date.DaysInMonth(y,m)
            Dim dr As DataRow
            dr = DataTables("表B").Find("姓名 = '" & e.DataRow("姓名") & "' And [表B日期] >= #" & m & "/1/" & y & "# And [表B日期] <= #" & m & "/" & d & "/" & y & "#")
            If dr IsNot Nothing Then
                e.DataRow("接收1") = dr("输出1")
                e.DataRow("接收2") = dr("输出2")
                e.DataRow("接收3") = dr("输出3")
            End If
        End If
End Select

 回到顶部