Foxtable(狐表)用户栏目专家坐堂 → 代码


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

主题:代码

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
代码  发帖心情 Post By:2015/9/6 12:33:00 [只看该作者]

Tables("生产计划").Current("编制人") = UserName
Dim dr2 As Row =Tables("生产计划").Current
Dim s As String =Format(dr2,"yyy年MM月")
Dim drs As List (of DataRow)=DataTables("领料明细").Select("领料单号='"&Tables("生产计划").Current("领料单号") &"'")
For Each dr As DataRow In drs
    Dim dr1 As DataRow =DataTables("计划耗用结存").find("发生年月= '" & s & " 'and 部门='"&dr2("部门")&"'and 物料编码= '"&dr("物料编码")&"'")
    If dr1("月末结余_投入数") < 0 Then
        MessageBox.show("累计发出材料数量超过耗用定额,请找领导审批","提示")
    End If
Next
Tables("材料领用").Current.Save()
DataTables("领料明细").Save()

 

这是我为一个窗口保存按钮编写的代码,执行这个代码有如下提示:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,材料出库,Button7,Click
详细错误信息:
无法将类型为“Foxtable.Row”的对象强制转换为类型“System.IConvertible”。
这是什么原因


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/9/6 13:21:00 [只看该作者]

Dim dr2 As Row =Tables("生产计划").Current'定义一个当前行(行有多列)
Dim s As String =Format(dr2("发生年月"),"yyy年MM月")'指定的字符应该是对应Current行的具体的某列,3个Y?错误提示在这行

我是菜鸟,帮助文档看的还不熟,请参考。

可以测试下,如果不显示 2  那就是这句
Tables("生产计划").Current("编制人") = UserName
Dim dr2 As Row =Tables("生产计划").Current
MessageBox.Show(1)
Dim s As String =Format(dr2,"yyy年MM月")
MessageBox.Show(2)
Dim drs As List (of DataRow)=DataTables("领料明细").Select("领料单号='"&Tables("生产计划").Current("领料单号") &"'")
For Each dr As DataRow In drs
    Dim dr1 As DataRow =DataTables("计划耗用结存").find("发生年月= '" & s & " 'and 部门='"&dr2("部门")&"'and 物料编码= '"&dr("物料编码")&"'")'这句里面合成表达式部分有的多空格 有的少空格
    If dr1 IsNot Nothing AndAlso dr1("月末结余_投入数") < 0 Then‘判断空行
        MessageBox.show("累计发出材料数量超过耗用定额,请找领导审批","提示")
'是否应该终止执行呢,要不后边就Save()了
exit for
    End If
Next
Tables("材料领用").Current.Save()
DataTables("领料明细").Save()


动态合成表达式
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=43687&replyID=&skin=1

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/6 14:13:00 [只看该作者]

Tables("生产计划").Current("编制人") = UserName
Dim dr2 As Row =Tables("生产计划").Current
Dim s As String =Format(dr2("某列"),"yyy年MM月")
Dim drs As List (of DataRow)=DataTables("领料明细").Select("领料单号='"&Tables("生产计划").Current("领料单号") &"'")
For Each dr As DataRow In drs
    Dim dr1 As DataRow =DataTables("计划耗用结存").find("发生年月= '" & s & " 'and 部门='"&dr2("部门")&"'and 物料编码= '"&dr("物料编码")&"'")
    If dr1 Is Nothing OrElse dr1("月末结余_投入数") < 0 Then
        MessageBox.show("累计发出材料数量超过耗用定额,请找领导审批","提示")
    End If
Next
Tables("材料领用").Current.Save()
DataTables("领料明细").Save()

 回到顶部