Foxtable(狐表)用户栏目专家坐堂 → 窗口,确认按钮这样写,报错


  共有3571人关注过本帖树形打印复制链接

主题:窗口,确认按钮这样写,报错

帅哥哟,离线,有人找我吗?
yancheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
窗口,确认按钮这样写,报错  发帖心情 Post By:2016/6/17 21:29:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160617212751.jpg
图片点击可在新窗口打开查看


Dim r As Row = Tables("采购入库").Current
If r Is Nothing Then
    Return
End If
For Each c As Col In Tables("采购入库").Cols
    Sele ct Ca se c.Name
        Case "合同名称","合同编号","入库日期","供应商","供应商编号","入库批次"
            If r.IsNull(c.Name) Then
                MessageBox.Show("粉红框部分不可以为空!", "警告!", MessageBoxButtons.Ok, MessageBoxIcon.Warning)
                Return
            Else
                Tables("采购入库").Current.Save()
                If Forms("采购入库").Opened=True Then
                    Dim cmd As New SQLCom mand
                    Dim dt As DataTable
                    cmd.C
                    cmd.CommandText = "Sele ct Distinct Year(入库日期) As 年, Month(入库日期) As 月,合同名称,供应商 From {采购入库}"
                    dt = cmd.ExecuteReader()
                    Dim tv As WinForm.TreeView = Forms("采购入库").Controls("TreeView1")
                    tv.StopRedraw
                    tv.Nodes.Clear
                    tv.BuildTree(dt,"合同名称|年|月|供应商","","合同名称 desc,年,月,月")
                    tv.Nodes.Insert("所有订单",0)
                    tv.ResumeRedraw
                    tv.Nodes(1).Expand()
                End If          
            End If
    End Sel ect
Next
e.Form.Close

改成这样又不出错了。为什么
图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/6/19 18:01:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/6/18 8:39:00 [只看该作者]

上面的代码代码不应该出这个错误,你做个例子发上来看看。

 

写代码要用e参数,例如要引用触发事件的行,应该是e.Datarow或e.Row,不要用Current


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/18 8:42:00 [只看该作者]

数据库表有不能为空的字段保存了空值

或者数据库中设置了外键约束,必须先保存主表,才能保存子表

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/6/19 18:00:00 [只看该作者]



我把代码改成这样,就可以了。
[此贴子已经被作者于2016/6/19 18:00:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
改成这样就可以了。  发帖心情 Post By:2016/6/19 18:01:00 [只看该作者]

改成这样就可以了。

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
错误依照,我都晕了。  发帖心情 Post By:2016/7/17 22:18:00 [只看该作者]

Dim r As Row = Tables("材料").Current
If r Is Nothing Then
    Return
Else
    For Each c As Col In Tables("材料").Cols
        Sele ct Case c.Name
            Case "材料名称","定额编码","分类","子分类","成本价","单位"
                If r.IsNull(c.Name) Then
  
                    MessageBox.Show("红字部分不可以为空!", "警告!", MessageBoxButtons.Ok, MessageBoxIcon.Warning)
                    Return
                End If
        End Se lect
    Next
End If
Tables("材料").Save()
If Forms("材料").Opened= True Then
    Dim cmd As New SQ LCom mand
    Dim dt As DataTable
    cmd.Conne cti
    cmd.Comm andText = "SELE CT DIS TINCT 分类,子分类 From {材料}"
    dt = cmd.Exe cuteReader()
    If dt.DataRows.Count > 0 Then
        Dim tv As WinForm.TreeView
        tv =Forms("材料").Controls("TreeView1")
        tv.StopRedraw
        tv.Nodes.Clear
        tv.BuildTree(dt,"分类|子分类","","分类")
        tv.Nodes.Insert("所有商品",0)
        tv.ResumeRedraw
        tv.ExpandAll
    End If
End If
e.Form.Close
图片点击可在新窗口打开查看此主题相关图片如下:33.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/18 9:00:00 [只看该作者]

Tables("材料").Current.DataRow.Save

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/7/18 13:50:00 [只看该作者]

还是不行,同样的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/18 14:32:00 [只看该作者]

上例子

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/7/18 16:17:00 [只看该作者]

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


 回到顶部
总数 19 1 2 下一页