以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]增加表重启后有错误代码,而在命令窗口测试却没有  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160711)

--  作者:2425004926
--  发布时间:2021/2/18 14:06:00
--  [求助]增加表重启后有错误代码,而在命令窗口测试却没有
 重启后有错误代码,而在命令窗口确没有
Dim tx As String  = e.Form.Controls("TextBox2").text
If tx = "" Then
    MessageBox.Show("表名称不能为空!","提示")
ElseIf PY.IsHanzi(left(tx,1)) = False Then   \'第一个字符不是汉字时
    MessageBox.Show("表名称开头字符必须为汉字!","提示")
Else
    Dim Builder As New ADOXBuilder
    Dim tbl As ADOXTable
    Builder.Open()
    tbl = Builder.NewTable(tx) \'创建表
    With tbl
        For Each r As Row In Tables("增加表")
            If r("类型") = "字符" Then
                .AddColumn(r("列名称") ,ADOXType.String, r("长度"))
            ElseIf r("类型") = "日期" Then
                .AddColumn(r("列名称") ,ADOXType.DateTime)
            ElseIf r("类型") = "数字" Then
                .AddColumn(r("列名称") ,ADOXType.Integer)
            ElseIf r("类型") = "备注" Then
                .AddColumn(r("列名称") ,ADOXType.Text)
            Else
                Exit For
            End If
        Next
    End With
    Builder.AddTable(tbl) \'增加表
    Builder.Close()
    e.Form.close()
    Syscmd.Project.Open(ProjectFile)
End If

--  作者:2425004926
--  发布时间:2021/2/18 14:09:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:增加表测试.zip

 
--  作者:有点蓝
--  发布时间:2021/2/18 14:49:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目178.zip


--  作者:2425004926
--  发布时间:2021/2/18 15:12:00
--  
 刚才是哪里的问题?改后确实好了,我没有看出来是改动的哪里?

--  作者:2425004926
--  发布时间:2021/2/18 15:21:00
--  
 另外还有个问题:类型列更改后长度列没有立即改变,而是离开类别的这个单元格后长度列才改变,这个代码我是写在了

DataColChanged里

If e.DataCol.Name = "类型" Then
    If e.DataRow("类型") = "字符" Then
        e.DataRow("长度") = 16
    Else
        e.DataRow("长度") = Nothing
    End If
End If


是应该写在哪个事件里?我试了多次都没有试好


--  作者:2425004926
--  发布时间:2021/2/18 15:26:00
--  
 加了这个e.Cancel = True,看出来了

--  作者:有点蓝
--  发布时间:2021/2/18 15:31:00
--  
单元格要离开焦点才算编辑完成。如果要在编辑的时候马上触发事件,到ChangeEdit或者KeyPressEdit事件处理
--  作者:2425004926
--  发布时间:2021/2/18 16:06:00
--  
 OK,好了,非常谢谢!