Foxtable(狐表)用户栏目专家坐堂 → [求助]灵活加载数据配置


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

主题:[求助]灵活加载数据配置

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助]灵活加载数据配置  发帖心情 Post By:2018/12/25 10:51:00 [显示全部帖子]

我有一个加载数据的命令,想实现通过修改【表A】中所设置的条件进行灵活配置;以下加载命令该怎么修改?

下面红色部分命令改为读取:【表A】中 【表名】=“装机工单清单表”and 【执行类型】=“加载数据” and 【工作岗位】=“内线网管组” 的【列表项目1】中以“,”分隔的内容、关系为“or”

 

DataTables("装机工单清单表").LoadFIlter = "工单号 Is Null or ( 工单当前环节 = '内线网管处理工单' or 工单当前环节 = 'OTTV组处理工单'  or 工单当前环节 = '内线卡单处理工单' or 工单当前环节 = 'IMS固话删除数据工单'  ) "  
DataTables("装机工单清单表").Load

 

 


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

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/12/25 12:36:00 [显示全部帖子]

 

想把以下这个红色内容改成读取:【表A】中 【表名】=“装机工单清单表”and 【执行类型】=“加载数据” and 【工作岗位】=“内线网管组” 的【列表项目1】内容;该怎么修改?

Dim str = "内线网管处理工单1,内线网管处理工单2,内线网管处理工单3"

Dim nstr As String = "1=2"
For Each s As String In str.split(",")
    nstr &= " or 工单当前环节 = '" & s & "'"
Next
msgbox(nstr)

 


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/12/28 15:33:00 [显示全部帖子]

以下命令执行的结果为“1”的效果、我想要实现结果为“2”的效果;命令该怎么改?

 

For Each dt As Row In Tables("岗位执行操作维护表").Rows
If   dt("表名") = "装机工单清单表" And dt("执行类型") = "加载数据" And dt("工作岗位") = "内线网管组"Then

Dim str = " "& dt("列表项目1") &" "
Dim nstr As String = " 工单号 Is Null Or ( ( 区域 = '惠东县' or 区域 = '龙门县' or 区域 = '大亚湾' or 区域 = '惠阳区' ) and ("
For Each s As String In str.split("/")
    nstr &= " 工单当前环节 = '" & s & "' or "
Next
msgbox(nstr)
End If
Next

 

1、

工单号 Is Null or  ( (区域 = '惠东县' or 区域 = '龙门县' or 区域 = '大亚湾' or 区域 = '惠阳区' ) and ( 工单当前环节 = '服开已归档工单' or 工单当前环节 = '完成装机未回单工单'or 工单当前环节 = '外线完成装机工单' or

把最后一个  or 去掉

2、

工单号 Is Null or  ( (区域 = '惠东县' or 区域 = '龙门县' or 区域 = '大亚湾' or 区域 = '惠阳区' ) and ( 工单当前环节 = '服开已归档工单' or 工单当前环节 = '完成装机未回单工单'or 工单当前环节 = '外线完成装机工单' ))

增加两个 ))

[此贴子已经被作者于2018/12/28 15:34:04编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/12/29 10:42:00 [显示全部帖子]

 如果我想实现加载【装机工单清单表】的数据、条件是满足 nstr & nstr1 的内容;以下命令该怎么改?

 

For Each dt As Row In Tables("岗位执行操作维护表").Rows

If  dt("表名") = "装机工单清单表" And dt("执行类型") = "维护区域" And dt("工作岗位") = "内线归档组1"  Then
Dim str = " "& dt("列表项目1") &" "
Dim nstr As String = " 工单号 Is Null Or ( ( "
For Each s As String In str.split("/")
    nstr &= " 区域 = '" & s & "' or "
Next
nstr = nstr.substring(0, nstr.length-3) & ") and ("

 

msgbox(nstr)
End If


此主题相关图片如下:360截图20181229103608416.jpg
按此在新窗口浏览图片
If   dt("表名") = "装机工单清单表" And dt("执行类型") = "加载数据" And dt("工作岗位") = "内线网管组"  Then
Dim str1 = " "& dt("列表项目1") &" "
Dim nstr1 As String = ") And ("
For Each s1 As String In str1.split("/")
    nstr1 &= " 工单当前环节 = '" & s1 & "' or "
Next
nstr1 = nstr1.substring(0, nstr1.length-3) & "))"

 

msgbox(nstr1)


End If


此主题相关图片如下:360截图20181229103556659.jpg
按此在新窗口浏览图片


DataTables("装机工单清单表").LoadFIlter = nstr & nstr1
DataTables("装机工单清单表").Load


Next




此主题相关图片如下:360截图20181229104123148.jpg
按此在新窗口浏览图片

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2019/7/30 16:43:00 [显示全部帖子]

 

如果按照以下公式执行、命令正常:

Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("宽带帐号 = '" & r5("宽带帐号") & "' and ( 工单当前环节 = 'OLT或红外问题工单' or 工单当前环节 = '光端口被关停工单' or 工单当前环节 = '光功率不达标工单' or 工单当前环节 = '核查不达标工单' or 工单当前环节 = '红线内问题工单' or 工单当前环节 = '客户不配合整治工单' or 工单当前环节 = '请求打开光端口工单' or 工单当前环节 = '派错装维人员工单' or 工单当前环节 = '三网合一或入户线问题工单' or 工单当前环节 = '外线跟进处理工单' or 工单当前环节 = '需关停端口工单' ) ") 
If dr1 IsNot Nothing  Then
e.DataRow("当前工作内容") &= vbcrlf &  "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
Vars("当前工作内容") = "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
Else
If  e.DataRow("当前工作内容")  Like "*存量弱光工单*" Then
e.DataRow("当前工作内容")  = e.DataRow("当前工作内容").Replace(Vars("当前工作内容"),"")
Else
End If
End If
End If

 

如果把红色字体的内容替换以下内容、命令就无法执行:

 

For Each dt1 As DataRow In DataTables("岗位执行操作维护表").SQLSelect("")
If   dt1("表名") = "弱光整治清单表"  And dt1("工作岗位") = "投诉受理组"  And dt1("执行类型") = "弱光工单匹配"   Then
Dim str1 = dt1("列表项目1")
Dim nstr1 As String = "宽带帐号 = '"& r5("宽带帐号") &"' And ( "
For Each s1 As String In str1.split("/")
nstr1 &= " 工单当前环节 = '"& s1 &"' Or "
Next
nstr1 = nstr1.substring(0, nstr1.length-4) & " )"


msgbox(nstr1)

 

 
此主题相关图片如下:360截图20190730163158782.jpg
按此在新窗口浏览图片


Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("nstr1")  

    

If dr1 IsNot Nothing  Then
e.DataRow("当前工作内容") &= vbcrlf &  "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
Vars("当前工作内容") = "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
Else
If  e.DataRow("当前工作内容")  Like "*存量弱光工单*" Then
e.DataRow("当前工作内容")  = e.DataRow("当前工作内容").Replace(Vars("当前工作内容"),"")
Else
End If
End If
End If
Next


[此贴子已经被作者于2019/7/30 17:41:13编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2019/7/30 17:52:00 [显示全部帖子]

命令是放在表的DataColChanged中

 

意思就是使用

nstr1

代替

宽带帐号 = '" & r5("宽带帐号") & "' and ( 工单当前环节 = 'OLT或红外问题工单' or 工单当前环节 = '光端口被关停工单' or 工单当前环节 = '光功率不达标工单' or 工单当前环节 = '核查不达标工单' or 工单当前环节 = '红线内问题工单' or 工单当前环节 = '客户不配合整治工单' or 工单当前环节 = '请求打开光端口工单' or 工单当前环节 = '派错装维人员工单' or 工单当前环节 = '三网合一或入户线问题工单' or 工单当前环节 = '外线跟进处理工单' or 工单当前环节 = '需关停端口工单' )

 

msgbox(nstr1)的结果如下图


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

 

从上图和红色字体上看,应该是一样的内容;为什么命令就无效呢?

[此贴子已经被作者于2019/7/30 17:58:47编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2019/7/31 8:54:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2019/7/31 9:28:00 [显示全部帖子]

看一下这个实例;如果我把判断条件直接写死、命令是有效的。

但是我想实现如果后续【工单当前环节】有出现增减的时候、不需要去修改命令,而是在【岗位执行操作维护表】中进行维护就可以啦。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

 

所以就使用以下命令

       For Each dt1 As DataRow In DataTables("岗位执行操作维护表").SQLSelect("")

            If   dt1("表名") = "弱光整治清单表"  And dt1("工作岗位") = "投诉受理组"  And dt1("执行类型") = "弱光工单匹配"   Then
                Dim str1 = dt1("列表项目1")
                Dim nstr1 As String = "宽带帐号 = '"& r5("宽带帐号") &"' And ( "
                For Each s1 As String In str1.split("/")
                    nstr1 &= " 工单当前环节 = '" & s1 & "' Or "
                Next
                nstr1 = nstr1.substring(0, nstr1.length-4) & " )"
                msgbox(nstr1)
                Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("nstr1")
 
来代替以下直接写死的命令:
                ' Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("宽带帐号 = '" & r5("宽带帐号") & "' and ( 工单当前环节 = 'OLT或红外问题工单' or 工单当前环节 = '光端口被关停工单' or 工单当前环节 = '光功率不达标工单' or 工单当前环节 = '核查不达标工单' or 工单当前环节 = '红线内问题工单' or 工单当前环节 = '客户不配合整治工单' or 工单当前环节 = '请求打开光端口工单' or 工单当前环节 = '派错装维人员工单' or 工单当前环节 = '三网合一或入户线问题工单' or 工单当前环节 = '外线跟进处理工单' or 工单当前环节 = '需关停端口工单' ) ")
[此贴子已经被作者于2019/7/31 9:33:35编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2019/7/31 11:11:00 [显示全部帖子]

以下命令实现的功能是:如果【弱光整治清单表】的【宽带帐号】与【投诉工单清单表】当前行的【宽带帐号】相同、并且【工单当前环节】符合条件;那么就在【投诉工单清单表】当前行的【当前工作内容】中写入响应内容。

 

Dim r5 As Row = Tables("投诉工单清单表").current
Select Case e.DataCol.name
    Case "宽带帐号"
        Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("宽带帐号 = '" & r5("宽带帐号") & "' and ( 工单当前环节 = 'OLT或红外问题工单' or 工单当前环节 = '光端口被关停工单' or 工单当前环节 = '光功率不达标工单' or 工单当前环节 = '核查不达标工单' or 工单当前环节 = '红线内问题工单' or 工单当前环节 = '客户不配合整治工单' or 工单当前环节 = '请求打开光端口工单' or 工单当前环节 = '派错装维人员工单' or 工单当前环节 = '三网合一或入户线问题工单' or 工单当前环节 = '外线跟进处理工单' or 工单当前环节 = '需关停端口工单' ) ")
        If dr1 IsNot Nothing  Then
            e.DataRow("当前工作内容") &= vbcrlf &  "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
            Vars("当前工作内容") = "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
        Else
            If  e.DataRow("当前工作内容")  Like "*存量弱光工单*" Then
                e.DataRow("当前工作内容")  = e.DataRow("当前工作内容").Replace(Vars("当前工作内容"),"")
            Else
            End If
        End If
End  Select

 

但是如果后续判断条件中的【工单当前环节】有增减的话、那么我就要重新修改命令;所以我就想通过去读取【岗位执行操作维护表】中的符合条件的【列表项目1】内容来代替【工单当前环节】内容;这样今后如果【工单当前环节】有增减的话、我只需要修改【岗位执行操作维护表】中的对应【列表项目1】的内容就可以啦。

 

          

Dim r5 As Row = Tables("投诉工单清单表").current
Select Case e.DataCol.name
    Case "宽带帐号"
       
        For Each dt1 As DataRow In DataTables("岗位执行操作维护表").SQLSelect("")
            If   dt1("表名") = "弱光整治清单表"  And dt1("工作岗位") = "投诉受理组"  And dt1("执行类型") = "弱光工单匹配"   Then
                Dim str1 = dt1("列表项目1")
                Dim nstr1 As String = "宽带帐号 = '"& r5("宽带帐号") &"' And ( "
                For Each s1 As String In str1.split("/")
                    nstr1 &= " 工单当前环节 = '"& s1 &"' Or "
                Next
                nstr1 = nstr1.substring(0, nstr1.length-4) & " )"
                msgbox(nstr1)
                Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("nstr1")

 

 

                If dr1 IsNot Nothing  Then
                    e.DataRow("当前工作内容") &= vbcrlf &  "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
                    Vars("当前工作内容") = "该用户为【存量弱光工单】,请处理故障的同时进行【弱光】处理;【弱光整治清单表】系统编号:【"  & dr1("编号") &"】"
                Else
                    If  e.DataRow("当前工作内容")  Like "*存量弱光工单*" Then
                        e.DataRow("当前工作内容")  = e.DataRow("当前工作内容").Replace(Vars("当前工作内容"),"")
                    Else
                    End If
                End If
            End If
        Next

[此贴子已经被作者于2019/7/31 11:13:25编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2019/7/31 12:36:00 [显示全部帖子]

【岗位执行操作维护表】中的【列表项目1】只是做为【工单当前环节】的判断条件

 


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


         For Each dt1 As DataRow In DataTables("岗位执行操作维护表").SQLSelect("")
            If   dt1("表名") = "弱光整治清单表"  And dt1("工作岗位") = "投诉受理组"  And dt1("执行类型") = "弱光工单匹配"   Then
                Dim str1 = dt1("列表项目1")
                Dim nstr1 As String = "宽带帐号 = '"& r5("宽带帐号") &"' And ( "
                For Each s1 As String In str1.split("/")
                    nstr1 &= " 工单当前环节 = '"& s1 &"' Or "
                Next
                nstr1 = nstr1.substring(0, nstr1.length-4) & " )"

                msgbox(nstr1)

 

 Dim dr1 As DataRow = DataTables("弱光整治清单表").sqlFind("nstr1")

 

 


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

 

如果【列表项目1】中的内容增减一个、那么下图中的  【 工单当前环节 = ‘’ or 】就会跟着增减一个


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


 

[此贴子已经被作者于2019/7/31 12:44:01编辑过]

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