以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据某列变化对另一列赋值自动填充问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169686)

--  作者:哈哈哥
--  发布时间:2021/6/26 1:15:00
--  根据某列变化对另一列赋值自动填充问题
在表中增加一列“序号”列,当部门列输入内容后“序号”列自动填入指定内容。如果"部门"列的值为 "销售部" ,则“序号”列自动填充为“1”;如果"部门"列的值为 "生产部" ,则“序号”列自动填充为“2”;如果"部门"列的值为 "服务部" ,则“序号”列自动填充为“3”;如果"部门"列的值为 "联络部" ,则“序号”列自动填充为“4”。   但设置代码后发现,仅有在“部门”列输入“销售部”时,“序号”列才可自动填充指定内容,输入其他部时“序号”列均无变化。不知是代码还是设置问题,请大师帮忙看看。  代码如下:

在表的DataColChanged事件输入代码如下:
Select Case e.DataCol.Name
    Case "部门"
        If e.DataRow("部门") = "销售部" 
            e.DataRow("序号") = "1"
 End If
Case "部门"
        If e.DataRow("部门") = "生产部" 
            e.DataRow("序号") = "2"
 End If
Case "部门"
 If e.DataRow("部门") = "服务部" 
            e.DataRow("序号") = "3"
 End If
Case "部门"
 If e.DataRow("部门") = "联络部" 
            e.DataRow("序号") = "4"
 End If
End Select

AfterOpenProject事件输入代码如下:
 
DataTables("表A").DataCols("部门").RaiseDataColChanged()
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实验代码项目.rar




--  作者:有点蓝
--  发布时间:2021/6/26 9:06:00
--  
Select Case e.DataCol.Name
    Case "部门"
        If e.DataRow("部门") = "销售部" 
            e.DataRow("序号") = "1"
elseIf e.DataRow("部门") = "生产部" 
            e.DataRow("序号") = "2"
 elseIf e.DataRow("部门") = "服务部" 
            e.DataRow("序号") = "3"
elseIf e.DataRow("部门") = "联络部" 
            e.DataRow("序号") = "4"
 End If
End Select