以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  split分割问题,这段代码为什么只执行光标所在行,而其它行不给执行!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173567)

--  作者:hbfnmxb
--  发布时间:2021/12/6 10:22:00
--  split分割问题,这段代码为什么只执行光标所在行,而其它行不给执行!
模仿着写了一段代码,把表“代码库”中的“专业名称A”列,以{"(","【"}两个标志分割,分割后前部分填入到专业名称列中,后部分填入到“原始专业名称”列中,但,这段代码只有光标到哪行,才执行哪行,不问题出在哪里?老师给看一下,谢谢老师!


Dim DMK As Table = Tables("代码库")
Dim SP  As String = DMK.current("专业名称A")
Dim sps() As Char = {"(","【"}
Dim s1() As String=SP.split(sps)
If s1.length >= 2 Then
Tables("代码库").current("专业名称")=s1(0)
Tables("代码库").current("原始专业名称")=s1(1)
Else
Tables("代码库").current("专业名称")=Nothing
Tables("代码库").current("原始专业名称")=Nothing
End If

--  作者:有点蓝
--  发布时间:2021/12/6 10:24:00
--  
current就是当前行啊,有啥问题:http://www.foxtable.com/webhelp/topics/0445.htm
--  作者:hbfnmxb
--  发布时间:2021/12/6 10:58:00
--  
好的,谢谢老师,执行所有行,如何修改这个代码:
我试着修改,结果没有成功。当然是模仿。
Dim DMK As Table = Tables("代码库")
If DMK.Current IsNot Nothing Then

Dim SP  As String = DMK.Current("专业名称A")
   Dim sps() As Char = {"(","【"}
   Dim s1() As String=SP.split(sps)
    If s1.length >= 2 Then
       Tables("代码库").Current("专业名称")=s1(0)
       Tables("代码库").Current("原始专业名称")=s1(1)
       Output.Show(Tables("代码库").Current("专业名称"))
   Else
       Tables("代码库").Current("专业名称")=Nothing
       Tables("代码库").Current("原始专业名称")=Nothing
       End If

 End If
老师帮忙改下,不知道在哪里卷住了!!谢谢老师

--  作者:z769036165
--  发布时间:2021/12/6 11:44:00
--  
Dim sps() As Char = {"(","【"}
for each dr as row in Tables("代码库").rows
   Dim s1() As String=dr("专业名称A").split(sps)
    If s1.length >= 2 Then
       dr("专业名称")=s1(0)
       dr("原始专业名称")=s1(1)
       Output.Show(dr("专业名称"))
   Else
       dr("专业名称")=Nothing
       dr("原始专业名称")=Nothing
    End If
next

--  作者:有点蓝
--  发布时间:2021/12/6 11:47:00
--  
http://www.foxtable.com/webhelp/topics/1438.htm