以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助批量改变字段值设置,大红袍老师已给过思路  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73744)

--  作者:fytea
--  发布时间:2015/8/25 18:35:00
--  求助批量改变字段值设置,大红袍老师已给过思路

已知:

有A1 、B1、 C1、等若干张表,每张表有若干个相同的字段,如A1有A,B,C,O,P,Q字段,B1也有A,B,C,O,P,Q字段,C1也有A,B,C,O,P,Q字段,而且

A1的Q字段为:A-B-C

B1的Q字段为:A-B-C-P

C1的Q字段为:A-O-B-C

- 是连接符

制作一个Q字段的设置窗口

左边是表选项,右边是设置区,设置好结果,

 

求助:

1.怎样把设置好的结果,在模拟预览文本框中表现,

2.怎样把设置好的结果传导到各表中,而且以往的数据根据需要选择性改变。

没有表达清楚,请参考图

 

大红袍帮着做一个吧
实例附后

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:档案管理20150825.rar


--  作者:大红袍
--  发布时间:2015/8/25 19:51:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:档案管理20150825.table


--  作者:fytea
--  发布时间:2015/8/26 0:07:00
--  

谢谢狐精大红袍

 


--  作者:大红袍
--  发布时间:2015/9/23 18:06:00
--  

datacolchanged事件代码

 

Dim str As String = ""
Select Case e.DataCol.Name
    Case "档号构成项目","位数","连接符"
        For Each dr As DataRow In e.DataTable.Select("表名 = \'" & e.DataRow("表名") & "\'")
            If dr.IsNull("档号构成项目") = False Then
                If dr.IsNull("位数") Then
                    str &= "isnull(Convert([" & dr("档号构成项目") & "],\'System.String\'),\'\')+"
                Else
                    Dim temp = "substring(isnull(Convert([" & dr("档号构成项目") & "],\'System.String\'),\'\'),1," & dr("位数") & ")"
                    str &= "substring(\'" & "".PadLeft(dr("位数"),"0") & "\', 1, " & dr("位数") & "-len(" & temp & ")) + " & temp
                    str &= "+"
                End If
               
                If dr.IsNull("连接符") = False Then
                    str &=  "\'" & dr("连接符") & "\'+"
                End If
               
            End If
        Next
        DataTables(e.DataRow("表名")).DataCols("文件级档号").Expression = str.trim("+")
        If Forms("窗口1").opened Then
            Forms("窗口1").Controls("TextBox1").Text = DataTables(e.DataRow("表名")).Compute("max(文件级档号)")
        End If
End Select