Foxtable(狐表)用户栏目专家坐堂 → 代码出错


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

主题:代码出错

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
代码出错  发帖心情 Post By:2024/3/22 16:19:00 [只看该作者]

Select Case e.DataCol.Name
    Case "确认", "第一列", "第五列"
        If e.DataRow("确认") = True Then
            Dim ss() As String
            Dim ss3() As String
            If e.DataRow.IsNull("第一列") = False And e.DataRow.IsNull("第五列") = False Then
                '                ss = e.DataRow("第一列").split(",")
                ss = ( e.DataRow("第一列").split(","), e.DataRow("第五列").split(","))
                '                ss3 = e.DataRow("第五列").split(",")
                
                For Each s As String In ss
                    '                     "'")
                    If dr9 Is Nothing Then
                        dr9 = DataTables("表B").AddNew
                        dr9("第一列") = s
                        dr9("第五列") = s
                        dr9("识别码") = e.DataRow("识别码")
                    End If
                Next
                
                
            End If
            
            If e.DataCol.Name = "第一列" AndAlso e.oldvalue > "" And e.DataCol.Name = "第五列" AndAlso e.oldvalue > "" Then
'               If e.DataCol.Name = "第一列" AndAlso e.oldvalue > "" Then 
                For Each s As String In e.oldvalue.split(",")
                    Output.Show(s)
                   
                        
                    End If
                Next
            End If
            
            DataTables("表B").Save() 
        End If
End Select

[此贴子已经被作者于2024/3/22 16:53:37编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106145 积分:539842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/22 16:26:00 [只看该作者]

不要老是靠自己的想象力创造不存在的用法好不。

方法1、分开处理,先遍历"第一列"处理,再使用同样的代码遍历"第五列"处理
2、使用集合,把多个拆分的数组合添加到集合里,再遍历

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/3/23 9:10:00 [只看该作者]

'

二个合不起,请帮处理,谢谢

[此贴子已经被作者于2024/3/23 15:54:21编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106145 积分:539842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/23 9:44:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0217.htm

Dim Names As New List(Of String)
Names.AddRange(
e.DataRow("第一列").split(","))
Names.AddRange(e.DataRow("第列").split(","))

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/3/23 10:10:00 [只看该作者]

从字符串“ss”到类型“Integer”的转换无效。
输入字符串的格式不正确。

Dim Names As New List(Of String)
Names.AddRange(e.DataRow("第一列").split(","))
Names.AddRange(e.DataRow("第五列").split(","))
For Each Name As String In Names
    Output.Show(Name)


Names.InsertRange("ss", "s") '
Names.InsertRange("ss3", "s3") '    
Next

没看太懂,上报错,请帮处理

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106145 积分:539842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/23 10:34:00 [只看该作者]

去掉下面2句

Names.InsertRange("ss", "s") '
Names.InsertRange("ss3", "s3") '    

建议有时间还是多看看编程基础吧

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/3/23 10:58:00 [只看该作者]

去掉下面2句,也没有达到,没在同一行,需求是要在同一行,如何处理?

[此贴子已经被作者于2024/3/23 15:53:58编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106145 积分:539842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/23 11:03:00 [只看该作者]

用代码说话!

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/3/23 11:19:00 [只看该作者]




没在同一行,需求是要在同一行,如何处理?

[此贴子已经被作者于2024/3/23 15:53:41编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106145 积分:539842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/23 11:58:00 [只看该作者]

Select Case e.DataCol.Name
    Case "确认", "第一列", "第五列"
        If e.DataRow("确认") = True AndAlso e.DataRow.IsNull("第一列") = False AndAlso e.DataRow.IsNull("第五列") = False Then
            Dim Names As New List(Of String)
            Names.AddRange(e.DataRow("第一列").split(","))
            Names.AddRange(e.DataRow("第五列").split(","))
            
            For Each s As String In Names
                Dim dr9 As DataRow = DataTables("表B").find("第一列='" & s & "' and 识别码='" & e.DataRow("识别码") & "'")
                
                If dr9 Is Nothing Then
                    dr9 = DataTables("表B").AddNew
                End If
                dr9("第一列") = s
                dr9("识别码") = e.DataRow("识别码")
            Next
            DataTables("表B").Save() 
        End If
End Select

磨刀不误砍柴工,建议还是重头学学基础

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