哪位老师帮我修改一下如下循环公式,第一行变动时总是提示错,点确认后下一行又出错,不能循环.
For Each sjmxdr As dataRow In datatables("收据明细").dataRows
if sjmxdr isnot nothing then
Select Case e.DataCol.Name
Case "币制"
Dim zsdrs As List(Of datarow) = DataTables("折算表").select("[币制] = '" & sjmxdr("币制") & "' and [折算币制] = '" & sjmxdr("收据币制") & "'")
For Each zsdr As datarow In zsdrs
if zsdr isnot nothing then
sjmxdr("折算符") = zsdr("折算符")
sjmxdr("兑换率") = zsdr("汇率")
end if
Next
case "兑换率","收据币制"
Dim s As String = sjmxdr("金额") & sjmxdr("折算符") & sjmxdr("兑换率")
sjmxdr("收据金额") = eval(s)
case "收据金额"
dim sjdr as datarow = tables("收据").Current.DataRow
If sjdr IsNot Nothing Then
dataTables("收据").dataCols("折合币制").RaiseDataColChanged(sjdr)
End If
end select
end if
next
sjmxdr("金额")和 sjmxdr("兑换率")是数值型的话,则 sjmxdr("金额") & sjmxdr("折算符") & sjmxdr("兑换率")是错误的,提供例子吧
[此贴子已经被作者于2009-3-14 10:22:00编辑过]
以下是引用kylin在2009-3-14 10:22:00的发言:sjmxdr("金额")和 sjmxdr("兑换率")是数值型的话,则 sjmxdr("金额") & sjmxdr("折算符") & sjmxdr("兑换率")是错误的,提供例子吧
[此贴子已经被作者于2009-3-14 10:22:00编辑过]
谢谢你
Dim dr As DataRow = e.DataRow
Dim s As String = dr("金额") & dr("折算符") & dr("兑换率")
dr("收据金额") = eval(s)
这个在当前行中用是正确定的,金额与兑换率都是数值,折算符就是:" * " 与 " / "
但就不知如何在集合中循环使用!
*****附件如下,窗口为收据窗口, 进入系统后,点 客户为: 广州衡洋 这个客户, 进入 费用录入 点:打印收据,因这个客户内有录入数具.
窗口位于收据表,关闭窗口中也有公式,但我不知公式错在哪.如有时间帮我看看.
万分感谢.
密码:barryyong
[此贴子已经被作者于2009-3-14 12:21:13编辑过]
程序太复杂了,要理清结构感觉很费力
不知道能不能把问题简化一下。
另外,发现你好多地方都这样试用了:
For Each r As DataRow In Tables("表A").DataRows
If r IsNot Nothing Then
代码……
End If
Next
这里If判断r是否为nothing感觉没必要。
如果表A没有数据,DataRows为空集合,是不会执行中间的代码。
[此贴子已经被作者于2009-3-14 17:03:34编辑过]
以下是引用lxl在2009-3-14 17:03:00的发言:
程序太复杂了,要理清结构感觉很费力
不知道能不能把问题简化一下。
另外,发现你好多地方都这样试用了:
For Each r As DataRow In Tables("表A").DataRows
If r IsNot Nothing Then
代码……
End If
Next
这里If判断r是否为nothing感觉没必要。
如果表A没有数据,DataRows为空集合,是不会执行中间的代码。
是的,这个是多余的,因为以前我想记录收据,所以才这样设置代码.后来想想没有必要,所以代码没有改过来.
此程序因是此行业的需要。其实问题就只是在三个表中间相互引用与触发:收据表 收据明细表 折算表。
收据明细表 只是用来提取 费用管理表中(也就是 业务录入.费用管理)的数据.
折算表 是用来设置 收据明细表--收据币制与折算符这二列的数据,
问题是:设置折算表中的折算币制与收据明细表中的收据币制一样时,则:收据明细中只要是符合币制与折算币制相符时,则此行的收据汇率与折算符要与折算表的当前行的一致。
呵,麻烦各位了,只看这三人表,其它表不用看:收据表 收据明细表 折算表
我好像有点明白了,代码放错表了。周一再试试吧。到时如不明再请教大家。