Foxtable(狐表)用户栏目专家坐堂 → [求助]“for” 必须以匹配的 “next” 结束


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

主题:[求助]“for” 必须以匹配的 “next” 结束

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


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
[求助]“for” 必须以匹配的 “next” 结束  发帖心情 Post By:2012/6/4 17:17:00 [只看该作者]

Dim kd As String=""

Dim nd1 As WinForm.TreeNode

For Each dr As DataRow In dt.Datarows
    If dr("分类号")="3" Then kd ="生产技术管理"
    Else If dr("分类号")="8" Then kd ="基本建设" 
    Else kd ="设备类" 
    End If
    nd1.nodes.add("0101",kd)

Next

 

保存弹出“for” 必须以匹配的 “next” 结束警告

 

把    If dr("分类号")="3" Then kd ="生产技术管理"
    Else If dr("分类号")="8" Then kd ="基本建设" 
    Else kd ="设备类" 
    End If
删掉可以保存

 

什么问题?其他都不用管,我没觉得Next匹配不上啊

(有人说Else If 改成ElseIf,还是不行 )
[此贴子已经被作者于2012-6-4 17:19:02编辑过]

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2012/6/4 17:51:00 [只看该作者]

Dim kd As String

Dim nd1 As WinForm.TreeNode

For Each dr As DataRow In dt.Datarows
    kd = IIf(dr("分类号")="3","生产技术管理",IIF(dr("分类号")="8", "基本建设","设备类"))
    nd1.nodes.add("0101",kd)

Next


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


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2012/6/4 17:56:00 [只看该作者]

我想知道为什么我的代码通不过,没觉得不对呀?

  kd = IIf(dr("分类号")="3","生产技术管理",IIF(dr("分类号")="8", "基本建设","设备类"))
如果以后还要增加1,2,4等不是设备的怎么写?

这样写感觉写死了

[此贴子已经被作者于2012-6-4 17:57:31编辑过]

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2012/6/4 18:41:00 [只看该作者]

方法一:

另建一[类別]表,列设[分类号]及[名称]


Dim dr,dr1 as Datarow

Dim nd1 As WinForm.TreeNode

For Each dr  In dt.Datarows

     dr1 = DataTables("类别").Find("分类号 = '" & dr("分类号")  &  "'")

      if dr1 Isnot Nothing Then

         nd1.nodes.add("0101",dr1("名称")

      End if

Next



方法二:

Dim i As Integer

Dim kd As String

Dim dr,dr1 as Datarow

Dim nd1 As WinForm.TreeNode

Dim kds1 As String() ={"1","2","3"}

Dim Names2 As String() ={"生产技术管理","基本建设","设备类"}

For Each dr  In dt.Datarows

        i=0

       For   each kd  in  kds1 

           if  kd = dr("分类号") Then

                Exit  For 

           End if 

           i+=1

     Next 

  nd1.nodes.add("0101",Names2(i))

Next


[此贴子已经被作者于2012-6-4 18:42:06编辑过]

 回到顶部