Foxtable(狐表)用户栏目专家坐堂 → [求助]定义函数有误


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

主题:[求助]定义函数有误

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]定义函数有误  发帖心情 Post By:2015/7/15 19:48:00 [只看该作者]

老师 ,
这是哪里的问题 请您指导下
   
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150715194817.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/15 19:49:00 [只看该作者]

代码

Dim e As object=args(0)
Dim tb As Table=args(1)

Dim dt,dt1,dt2 As DataTable
Dim cmd,cmd1,cmd2 As New SQLCommand
cmd.C
cmd1.C
cmd2.C
cmd1.CommandText = "SELECT * Fr om {组别转换}"
cmd.CommandText = "SELECT * Fr om {ERPcode}"
cmd2.CommandText = "SELECT * Fr om {Showcode转换}"
dt = cmd2.ExecuteReader()
dt1 = cmd1.ExecuteReader()
dt2 = cmd.ExecuteReader()
Select e.DataCol.Name
    Case "旧项目号"
        If tb.Current("旧项目号") IsNot Nothing Then
            Dim dr,dr1 As DataRow
            dr = dt.Find("旧项目号= '" & tb.Current("旧项目号") & "'")
            dr1 = dt1.Find("原组别='"& tb.Current("组别") &"'")
            If dr IsNot Nothing Then
                tb.Current("项目号")=dr("项目号")
                tb.Current("旧项目号")=dr("旧项目号")
                tb.Current("ShowName")=dr("ProjectName")
                tb.Current("组别")=tb.Current("项目号").SubString(0,2)
                If dr1 IsNot Nothing Then
                    tb.Current("组别")=""
                    tb.Current("组别")=dr1("组别")
                End If
                
            Else
                tb.Current("项目号")=tb.Current("旧项目号")
                tb.Current("组别")=tb.Current("项目号").SubString(0,2)
                dr1 = dt1.Find("原组别='"& tb.Current("组别") &"'")
                If dr1 IsNot Nothing Then
                    tb.Current("组别")=""
                    tb.Current("组别")=dr1("组别")
                End If
            End If
        End If
    Case "项目号"
        If tb.Current("项目号") IsNot Nothing Then
            Dim dr2 As DataRow
            dr2 = dt2.Find("Project= '" & tb.Current("项目号") & "'")
            If dr2 IsNot Nothing Then
                tb.Current("PIC")=dr2("PIC name")
                tb.Current("ShowName")=dr2("Name")
                tb.Current("预算开工时间")=dr2("Show/event open date")
                tb.Current("预算完工时间")=dr2("Show/event close date")
            End If
        End If
End Select

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/15 19:51:00 [只看该作者]

窗口的 datacolchanged


Select e.DataCol.Name
    Case "旧项目号"
        Functions.Execute("codeadd",e,Tables("ar_table5"))


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/15 19:52:00 [只看该作者]

本来是用e参数 发现 不是这个的问题 麻烦老师给看看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/15 20:00:00 [只看该作者]

SubString(0,2) 的问题,说明你的内容没有两个字符。要处理字符为空或少于2的情况。

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/15 20:19:00 [只看该作者]

哦 果然低级错误

老师 上述有这么多 SQL 导致 这个字段录入 速度非常慢  怎么改进呢

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/15 20:26:00 [只看该作者]

cmd1.CommandText = "SELECT * Fr om {组别转换}"
cmd.CommandText = "SELECT * Fr om {ERPcode}"
cmd2.CommandText = "SELECT * Fr om {Showcode转换}"

 

写成

 

cmd1.CommandText = "SELECT * Fr om {组别转换} where 1=2"
cmd.CommandText = "SELECT * Fr om {ERPcode} where 1=2"
cmd2.CommandText = "SELECT * Fr om {Showcode转换} where 1=2"
 
--------------
 
find函数写成sqlFind函数

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/15 20:28:00 [只看该作者]

如果你的那三个表需要重复多次使用,建议你就把它们加载出来吧。

 回到顶部