Foxtable(狐表)用户栏目专家坐堂 → 【遍历判断】当前【状态变更】表中的编号,要在【款物明细】【入库明细】中遍历序号后再在使用记录中查找如果不等于归还的,就进行提醒并赋值。怎么进行判断呢?


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

主题:【遍历判断】当前【状态变更】表中的编号,要在【款物明细】【入库明细】中遍历序号后再在使用记录中查找如果不等于归还的,就进行提醒并赋值。怎么进行判断呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
【遍历判断】当前【状态变更】表中的编号,要在【款物明细】【入库明细】中遍历序号后再在使用记录中查找如果不等于归还的,就进行提醒并赋值。怎么进行判断呢?  发帖心情 Post By:2017/11/23 14:01:00 [只看该作者]

【遍历判断】当前【状态变更】表中的编号,要在【款物明细】【入库明细】中遍历序号后再在使用记录中查找如果不等于(<>)归还的,就进行提醒,反之不提醒并赋值。怎么进行判断呢?

下述代码可以实现在【入库明细】中遍历序号后再在使用记录中查找如果不等于归还等数据并进行提醒,
怎么实现先查找【款物明细】中的记录 满足条件后再进行【入库明细】查找数据
只有当两个表中的数据在【使用记录】表中都从是存在借出 且对应归还的时候  才运行 办结登记

想实现当登记状态中只有借出而没有归还的 就不能更新办结状态“已办结”

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

Dim d  As Row=Tables("状态变更").Current
For Each dr As DataRow In DataTables("款物明细").Select("案件编号='" & d("编号") & "'")
    Dim dr2 As DataRow = DataTables("使用记录").Find("编号='" & d("编号") & "' and 序号='" & dr("款物序号") & "'","录入时间 DESC")
    If dr2 IsNot Nothing AndAlso dr2("登记状态") <> "归还"
        msgbox(dr2("编号") & "【" & dr2("序号") & "】款物未归还")
        d("办理状态")="办理中"
        d("办结人")=Nothing
        d("办结状态")=""
        d("办结时间")= Nothing
        e.Cancel = True
        Return
    Else
        d("办理状态")="已办结"
        d("办结状态")="已办结"
        d("办结人")=d("办理人")
        d("办结时间")=Date.now
    End If
Next
For Each dr1 As DataRow In DataTables("入库明细").Select("卷宗编号='" & d("编号") & "'")
    Dim dr21 As DataRow = DataTables("使用记录").Find("编号='" & d("编号") & "' and 序号='" & dr1("分册编号") & "'","录入时间 DESC")
    If dr21 IsNot Nothing AndAlso dr21("登记状态") <> "归还"
        msgbox(dr21("编号") & "【" & dr21("序号") & "】卷宗未归还")
        d("办理状态")="办理中"
        d("办结人")=Nothing
        d("办结状态")=""
        d("办结时间")= Nothing
        e.Cancel = True
        Return
    Else
        d("办理状态")="已办结"
        d("办结状态")="已办结"
        d("办结人")=d("办理人")
        d("办结时间")=Date.now
    End If
Next
[此贴子已经被作者于2017/11/23 14:30:04编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/23 15:14:00 [只看该作者]

Dim d  As Row=Tables("状态变更").Current
For Each dr As DataRow In DataTables("款物明细").Select("案件编号='" & d("编号") & "'")
    Dim dr2 As DataRow = DataTables("使用记录").Find("编号='" & d("编号") & "' and 序号='" & dr("款物序号") & "'","录入时间 DESC")
    If dr2 IsNot Nothing AndAlso dr2("登记状态") <> "归还"
        msgbox(dr2("编号") & "【" & dr2("序号") & "】款物未归还")
        Return
    End If
Next
For Each dr1 As DataRow In DataTables("入库明细").Select("卷宗编号='" & d("编号") & "'")
    Dim dr21 As DataRow = DataTables("使用记录").Find("编号='" & d("编号") & "' and 序号='" & dr1("分册编号") & "'","录入时间 DESC")
    If dr21 IsNot Nothing AndAlso dr21("登记状态") <> "归还"
        msgbox(dr21("编号") & "【" & dr21("序号") & "】卷宗未归还")
        Return
    End If
Next

d("办理状态")="已办结"
d("办结状态")="已办结"
d("办结人")=d("办理人")
d("办结时间")=Date.now


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)Dim d  As Row=Tables("状态变更...  发帖心情 Post By:2017/11/24 12:46:00 [只看该作者]

有点甜老师 现在可以逐步提醒了  但是觉得还是不怎么方便 因为遍历是独立的 执行一次就执行了 当款物和卷宗都有未归还情况时 只提醒款物未归还  有没有办法时间两个提示都进行 也就是款物与卷宗都提醒并且体现在一个窗体上

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/24 14:54:00 [只看该作者]

Dim d  As Row=Tables("状态变更").Current
Dim flag As Boolean = True
For Each dr As DataRow In DataTables("款物明细").Select("案件编号='" & d("编号") & "'")
    Dim dr2 As DataRow = DataTables("使用记录").Find("编号='" & d("编号") & "' and 序号='" & dr("款物序号") & "'","录入时间 DESC")
    If dr2 IsNot Nothing AndAlso dr2("登记状态") <> "归还"
        msgbox(dr2("编号") & "【" & dr2("序号") & "】款物未归还")
        flag = False
    End If
Next
For Each dr1 As DataRow In DataTables("入库明细").Select("卷宗编号='" & d("编号") & "'")
    Dim dr21 As DataRow = DataTables("使用记录").Find("编号='" & d("编号") & "' and 序号='" & dr1("分册编号") & "'","录入时间 DESC")
    If dr21 IsNot Nothing AndAlso dr21("登记状态") <> "归还"
        msgbox(dr21("编号") & "【" & dr21("序号") & "】卷宗未归还")
        flag = false
    End If
Next
if flag then
    d("办理状态")="已办结"
    d("办结状态")="已办结"
    d("办结人")=d("办理人")
    d("办结时间")=Date.now
end if

 回到顶部