以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]求代码,单价*数量 然后填进 复价 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63198) |
-- 作者:bagih -- 发布时间:2015/1/15 20:55:00 -- [求助]求代码,单价*数量 然后填进 复价 求代码,不想用表达式例,因为我用过,后面进行合并表的时候出错。 谢谢各位了 |
-- 作者:有点甜 -- 发布时间:2015/1/15 20:57:00 -- 编写datacolchanged事件代码
http://www.foxtable.com/help/topics/1469.htm
|
-- 作者:bagih -- 发布时间:2015/1/15 21:34:00 -- 可以了,感谢 |
-- 作者:bagih -- 发布时间:2015/1/15 22:37:00 -- 有点甜老师你好, Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "单价","数量" dr("复价") = dr("单价") * dr("数量") End Select 以上代码重置列时能正常执行,现在有这样的问题,表A要经常合并进新数据,在执行合并代码的时候就提示【从字符串“”到类型“Decimal”的转换无效。】 请教一下,以上的代码可否写在其他事件中,或怎么改一下才能正常。谢谢啦 以下是合并代码: Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim c As Integer = 0 Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("表A").StopRedraw() \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致 Dim nms() As String = {"序号","名称","单价","数量","复价"} \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 2 To Sheet.Rows.Count -1 Dim xh As String = sheet(n,1).Text \'定义 If DataTables("表A").Find("序号 = \'" & xh & "\'") Is Nothing Then \'如果不存在同编号的 Dim r As Row = Tables("表A").AddNew() c=c+1 For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next End If Next Tables("表A").ResumeRedraw() DataTables("表A").Save MessageBox.Show("合并完成,共" & c & "条记录") End If [此贴子已经被作者于2015-1-15 22:39:37编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/15 22:41:00 -- 试试改改这句
[此贴子已经被作者于2015-1-15 22:41:10编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/15 22:43:00 -- r(nms(m)) = Sheet(n,m).Value
改成
If DataTables("表A").DataCols(nms(m)).IsNumeric Then |
-- 作者:bagih -- 发布时间:2015/1/16 9:04:00 -- 调用的目标发生了异常。 从字符串“”到类型“Double”的转换无效。 输入字符串的格式不正确。 关闭一次次的异常提示后,数据也合并进来了,只是复价那例没计算,现全部显示0
|
-- 作者:有点甜 -- 发布时间:2015/1/16 9:06:00 -- dr("复价") = dr("单价") * dr("数量")
改成
dr("复价") = val(dr("单价")) * val(dr("数量")) |
-- 作者:有点甜 -- 发布时间:2015/1/16 9:07:00 -- 如果改成8楼没问题,就是你的单价和数量列的类型弄错了,不要弄成字符列 |
-- 作者:bagih -- 发布时间:2015/1/16 9:16:00 -- 哦,好,我试一下,辛苦啦 |