以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  增加临时列的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186174)

--  作者:lin98
--  发布时间:2023/4/11 9:37:00
--  增加临时列的问题
需求:如果表A没增加临时列,新增临时列AA、BB、CC、DD,并把多列的字段值折分到AA、BB、CC、DD,如果表A已新增临时列AA、BB、CC、DD,不执行增加临时列,
如果表A已新增临时列AA、BB、CC、DD为空,请折分,不为空不用折分。

执行下面,报错AA、BB、CC、DD不是表A的列,dr变量已保护

\'Dim r As Row = Tables("表A").Current
\'If r.IsNull("AA") OrElse r.IsNull("BB") OrElse r.IsNull("CC") OrElse r.IsNull("DD") Then
\'DataTables("表A"").DataCols.Add("AA", GetType(String))
\'DataTables("表A"").DataCols.Add("BB", GetType(String))
\'DataTables("表A"").DataCols.Add("CC", GetType(String))
\'DataTables("表A"").DataCols.Add("DD", GetType(String)) 

\'\'Dim ssr() As String = dr("多列").split("\\")
\'\'    dr("AA") = ssr(0)
\'\'    dr("BB") = ssr(1)
\'\'    dr("CC") = ssr(2)
\'\'    dr("DD") = ssr(3)
\'\'Next
    
\'Else
     
    
\'End If


--  作者:有点蓝
--  发布时间:2023/4/11 9:44:00
--  
if DataTables("表A"").DataCols.contains("AA") = false then 如果没有AA列
DataTables("表A"").DataCols.Add("AA", GetType(String)) 就添加
end if
if DataTables("表A"").DataCols.contains("BB") = false then 如果没有BB列
DataTables("表A"").DataCols.Add("BB", GetType(String)) 就添加
……
Dim r As Row = Tables("表A").Current
If r.IsNull("AA") OrElse r.IsNull("BB") OrElse r.IsNull("CC") OrElse r.IsNull("DD") Then
Dim ssr() As String = r("多列").split("\\")
r("AA") = ssr(0)
……