以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求填充公式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5234)

--  作者:wqc360
--  发布时间:2009/12/1 21:28:00
--  求填充公式

请帮我看看,怎么加上红色的一段就不行了,谢谢

Dim dt As DataTable = DataTables("产品工序")
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "图号","材料_重量Kg","材料_成品单价元","材料_废品单价元"
        dr("材料成本_单价元") = dr("材料_重量Kg")*dr("材料_成品单价元")
        dr("材料成本_报废元") = dr("材料_重量Kg")*dr("材料_废品单价元")
End Select

Dim str As String = "图号 = \'" & dr("图号") & "\' And 状态 = \'执行\'"
if e.DataCol.Name = "图号" Then
    Dim r As DataRow = dt.Find(str)
    if r IsNot Nothing Then
        dr ("工时_准结") = (dt.Compute("Sum(工时_准结)",str))/60
        dr("工时_加工") = (dt.Compute("Sum(工时_加工)",str))
    End If
End If
If e.DataCol.Name = "材料_材质" Then
    \'在行政区域表查找所输入省市和县市的行
    dr = DataTables("基础表").Find(" [材料] = \'" & e.DataRow("材料_材质") & "\'")
    If dr IsNot Nothing Then \'如果找到
        \'将找到行的区号?邮编内容填入到正在输入的行中.
        e.DataRow("材料_成品单价元") = dr("材料单价")
        e.DataRow("材料_废品单价元") = dr("废料单价")
    Else
        \'否则清除区号和邮编两列的内容
        e.DataRow("材料_成品单价元") = Nothing
        e.DataRow("材料_废品单价元") = Nothing
    End If
End If
If e.DataCol.Name = "确定" Then \'如果是已结帐列的内容变动
    If e.NewValue = True Then \'而且变动后的值是True(已勾选)
        e.DataRow.Locked = True \'那么锁定此行
    End If
End If


--  作者:czy
--  发布时间:2009/12/1 21:48:00
--  
怎么不行?
--  作者:mr725
--  发布时间:2009/12/1 21:50:00
--  
怎么个不行,有什么提示吗?   这个不像是充填啊~   红字部分跟图号有关系吗?
[此贴子已经被作者于2009-12-1 21:53:48编辑过]

--  作者:wqc360
--  发布时间:2009/12/1 22:06:00
--  
我删掉就正常,加上就不行,与图号没关系,是我搞错了,但是把图号删了还是不行,提示见附表,另请告知图片怎么直接发到恢复窗口,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:091201报错.rar

[此贴子已经被作者于2009-12-1 22:07:14编辑过]

--  作者:wqc360
--  发布时间:2009/12/1 22:16:00
--  
是我搞错了,把("材料_废品单价元")列设成字符型了,现在能不能用代码改类型
--  作者:wqc360
--  发布时间:2009/12/1 22:20:00
--  求填充公式
我想用重新定向为内部表再改类型,怎么提示没有找到可用的关键列。
[此贴子已经被作者于2009-12-1 22:24:47编辑过]

--  作者:wqc360
--  发布时间:2009/12/1 22:32:00
--  
我在检查外部数据表时发现怎么只有主键列“_Identify”。而没有逻辑列“_Locked。主键列我也没设呀,经过定向就有,但是怎么没有逻辑列
--  作者:mr725
--  发布时间:2009/12/1 22:42:00
--  
这么麻烦,为何不到数据源去直接更改一下呢?

--  作者:mr725
--  发布时间:2009/12/1 22:46:00
--  
或者什么都别动,将1楼代码中红色的 dr("材料_废品单价元") 改为: Val(dr("材料_废品单价元")) 试一试
--  作者:wqc360
--  发布时间:2009/12/1 22:46:00
--  
请问sql数据源怎么改列类型,谢谢