Foxtable(狐表)用户栏目专家坐堂 → 一个按钮,同时修改:2万行的数据 ,可以吗


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

主题:一个按钮,同时修改:2万行的数据 ,可以吗

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
一个按钮,同时修改:2万行的数据 ,可以吗  发帖心情 Post By:2016/7/28 22:13:00 [显示全部帖子]

Dim r As Row = Tables("材料").Current
If r Is Nothing Then
    Return
Else
    systemReady = False
    For Each dr As DataRow In DataTables("材料").DataRows
        If dr.IsNull("成本价")=False And dr("成本价") > 0 Then
            dr("增值税率") = r("增值税率")
            dr("挂靠管理费率")=r("挂靠管理费率")
            dr("利润率") = r("利润率")
            dr("主材损耗率") = r("主材损耗率")
            dr("运杂费") = r("运杂费")
        End If
    Next
systemReady = True

    'DataTables("材料").Save()
End If
e.Form.Close


马上:FT 未响应了。有没有什么好办法解决?
[此贴子已经被作者于2016/7/28 22:13:27编辑过]

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/7/29 12:46:00 [显示全部帖子]

.N ET Fra mework 版本:2.0.50727.5485
Foxtable 版本:2016.7.8.1
错误所在事件:窗口,材料维护,含税竞争费率,Click
详细错误信息:
从字符串“主材损耗率”到类型“D ouble”的转换无效。
输入字符串的格式不正确。




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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/7/29 12:46:00 [显示全部帖子]

Dim qb As Win Form.CheckBox = e.Fo rm.Controls("全表")
If qb.Checked = False Then
    Dim r As Row = Tables("材料").Current
    If r Is Nothing Then
        Return
    Else
        r("增值税率")=0.05
        r("挂靠管理费率")=0.25
        r("利润率")=0.4
        r("主材损耗率")=1
        r("运杂费")=0.05
        r.Save()
    End If
Else
    Dim count As In teger
    Dim cmd As new S QL Command
    cm d.Con necti
    cmd.Comma dText= "U PDA TE {材料} S ET 增值税率 = 0.05,挂靠管理费率 = 0.25 ,利润率 = 0.4,主材损耗率 = 1 ,运杂费 = 0.05 w here 成本价 > 0"
    count = cmd.ExecuteNonQuery()
    DataTables("材料").load()
    Messag eBox.Sh ow("全表'成本价>0'的 & Count & 行,费率修改完成!")
    qb.Checked = False
    DataTables("材料").Datacols("主材损耗率").RaiseDataColChanged( "主材损耗率" > 0)
    e.Fo rm.Close
End If

麻烦大虾帮我看一下,上面这样定有哪些问题,谢谢

 DataTables("材料").Datacols("主材损耗率").RaiseDataColChanged( "主材损耗率" > 0)
是这一条没执行,执行错误。材损耗率 数据类型是:双精度 小数
LOAD 了,但是没有执行 DataColChanged的代码。所以我想用RaiseDataColChanged来更新一下。
[此贴子已经被作者于2016/7/29 13:27:22编辑过]

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/8/2 21:46:00 [显示全部帖子]

Dim qb As WinForm.CheckBox = e.F orm.Controls("全表")
If qb.Checked = False Then
    Dim r As Row = Tables("材料").Current
    If r Is Nothing Then
        Return
    Else
        r("增值税率")=0.05
        r("挂靠管理费率")=0.25
        r("利润率")=0.4
        r("主材损耗率")=1
        r("运杂费")=0.05
        r.Save()
    End If
Else
    Dim count As Integer
    Dim cmd As new SQLCommand
    cmd.C
    cmd.CommandText= "U PDATE {材料} SET 增值税率 = 0.05,挂靠管理费率 = 0.25 ,利润率 = 0.4,主材损耗率 = 1 ,运杂费 = 0.05 where 成本价 > 0"
    count = cmd.ExecuteNonQuery()
    DataTables("材料").load()
    MessageBox.Show("全表'成本价>0'的 "& Count &" 行,费率修改完成!")
    qb.Checked = False
    SystemReady = False
    DataTables("材料").Datacols("主材损耗率").RaiseDataColChanged("主材损耗率>0")
    SystemReady = True
    e.Form.Close
End If

这个代码:DataTables("材料").Datacols("主材损耗率").RaiseDataColChanged("主材损耗率>0")  执行,就未响应了。

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/8/3 10:32:00 [显示全部帖子]

去掉也一样。

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/8/3 15:17:00 [显示全部帖子]

DataTables("材料").Datacols("主材损耗率").RaiseDataColChanged("主材损耗率>0")
这个代码,我是写在一个窗口:按钮里面执行的。

 回到顶部