以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71253)

--  作者:seopain
--  发布时间:2015/7/8 10:14:00
--  [求助]
Select Case e.DataCol.Name
    Case "姓名", "部门", "状态"
        If e.DataRow.IsNull("姓名") = False AndAlso e.DataRow.IsNull("部门") = False Then
            If e.DataRow("部门") = "编辑部" Then
                If DataTables("编辑信息表").DataCols.Contains(e.DataRow("姓名") & "_上传") = False Then
                    Dim Builder As New ADOXBuilder("test")
                    Builder.Open() \'打开ADOXBuilder
                    With Builder.Tables("编辑信息表")
                        .AddColumn(e.DataRow("姓名") & "_上传",ADOXType.String, 12)
                        .AddColumn(e.DataRow("姓名") & "_采用",ADOXType.String, 12)
                    End With
                    Builder.Close() \'关闭ADOXBuilder
                    DataTables.Unload("编辑信息表")
                    DataTables.Load("编辑信息表")
                End If
            End If
        End If
End Select

Select Case e.DataCol.Name
    Case "状态"
        If e.DataRow("状态") = "离职"
            Dim Builder As New ADOXBuilder("test")
            With Builder.Tables("dbo.编辑信息表")
                Builder.Open() \'打开ADOXBuilder
                .DeleteColumn(e.DataRow("姓名") & "_上传")
                .DeleteColumn(e.DataRow("姓名") & "_采用")
            End With
            Builder.Close() \'关闭ADOXBuilder
            DataTables.Unload("dbo.编辑信息表")
            DataTables.Load("dbo.编辑信息表")
        End If
End Select
为什么我更改成为离职状态的时候会弹错误

--  作者:大红袍
--  发布时间:2015/7/8 10:18:00
--  
Select Case e.DataCol.Name
    Case "状态"
        If e.DataRow("状态") = "离职"
            Dim Builder As New ADOXBuilder("test")
            With Builder.Tables("编辑信息表")
                Builder.Open() \'打开ADOXBuilder
                .DeleteColumn(e.DataRow("姓名") & "_上传")
                .DeleteColumn(e.DataRow("姓名") & "_采用")
            End With
            Builder.Close() \'关闭ADOXBuilder
            DataTables.Unload("编辑信息表")
            DataTables.Load("编辑信息表")
        End If
End Select

--  作者:seopain
--  发布时间:2015/7/8 10:27:00
--  
改了以后还是出现这个提示

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.11.11.1
错误所在事件:表,员工,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。


--  作者:大红袍
--  发布时间:2015/7/8 10:30:00
--  
Select Case e.DataCol.Name
    Case "姓名", "部门", "状态"
        If e.DataRow.IsNull("姓名") = False AndAlso e.DataRow.IsNull("部门") = False Then
            If e.DataRow("部门") = "编辑部" Then
                If e.DataRow("状态") = "离职"
                    If DataTables("编辑信息表").DataCols.Contains(e.DataRow("姓名") & "_上传") Then
                        Dim Builder As New ADOXBuilder("test")
                        With Builder.Tables("编辑信息表")
                            Builder.Open() \'打开ADOXBuilder
                            .DeleteColumn(e.DataRow("姓名") & "_上传")
                            .DeleteColumn(e.DataRow("姓名") & "_采用")
                        End With
                        Builder.Close() \'关闭ADOXBuilder
                        DataTables.Unload("编辑信息表")
                        DataTables.Load("编辑信息表")
                    End If
                Else
                    If DataTables("编辑信息表").DataCols.Contains(e.DataRow("姓名") & "_上传") = False Then
                        Dim Builder As New ADOXBuilder("test")
                        Builder.Open() \'打开ADOXBuilder
                        With Builder.Tables("编辑信息表")
                            .AddColumn(e.DataRow("姓名") & "_上传",ADOXType.String, 12)
                            .AddColumn(e.DataRow("姓名") & "_采用",ADOXType.String, 12)
                        End With
                        Builder.Close() \'关闭ADOXBuilder
                        DataTables.Unload("编辑信息表")
                        DataTables.Load("编辑信息表")
                    End If
                End If
            End If
        End If
End Select

--  作者:seopain
--  发布时间:2015/7/8 11:01:00
--  

还是有错 帮我看一下吧  
[此贴子已经被作者于2015/7/8 11:33:57编辑过]

--  作者:大红袍
--  发布时间:2015/7/8 11:26:00
--  
Select Case e.DataCol.Name
    Case "姓名", "部门", "状态"
        If e.DataRow.IsNull("姓名") = False AndAlso e.DataRow.IsNull("部门") = False Then
            If e.DataRow("部门") = "编辑部" Then
                If e.DataRow("状态") = "离职"
                    If DataTables("编辑信息表").DataCols.Contains(e.DataRow("姓名") & "_上传") Then
                        Dim Builder As New ADOXBuilder("test")
                        Builder.Open() \'打开ADOXBuilder
                        With Builder.Tables("编辑信息表")
                            .DeleteColumn(e.DataRow("姓名") & "_上传")
                            .DeleteColumn(e.DataRow("姓名") & "_采用")
                        End With
                        Builder.Close() \'关闭ADOXBuilder
                        DataTables.Unload("编辑信息表")
                        DataTables.Load("编辑信息表")
                    End If
                Else
                    If DataTables("编辑信息表").DataCols.Contains(e.DataRow("姓名") & "_上传") = False Then
                        Dim Builder As New ADOXBuilder("test")
                        Builder.Open() \'打开ADOXBuilder
                        With Builder.Tables("编辑信息表")
                            .AddColumn(e.DataRow("姓名") & "_上传",ADOXType.String, 12)
                            .AddColumn(e.DataRow("姓名") & "_采用",ADOXType.String, 12)
                        End With
                        Builder.Close() \'关闭ADOXBuilder
                        DataTables.Unload("编辑信息表")
                        DataTables.Load("编辑信息表")
                    End If
                End If
            End If
        End If
End Select

--  作者:seopain
--  发布时间:2015/7/8 11:34:00
--  
这个我都不好意思了.麻烦老师了.