1、第一个问题已经解决了,谢谢。
2、第二问题中,我是想用跨表引用的方式根据报价表,得出结算表相应的价格,应该是不用关联的啊。
我在结算表的DataColChanged事件代码代码,但是结算表引用数据时却是错误的,我不知道代码哪里出错了。
如果代码正确,结算表的工件列,第一行,第二行,第三行引用正确的数值应该为150,,130,50
请帮忙看看是什么问题。
代码如下:
Select Case e.DataCol.Name
Case "客户","入出","收免","特殊","部门","完成","删除","退回"
Dim dr As DataRow = e.DataRow
Dim pr As DataRow
If dr.IsNull("客户") Then
dr("基准收费") = Nothing
dr("超标收费") = Nothing
dr("工件") = Nothing
dr("检测") = Nothing
dr("杂费") = Nothing
dr("税率") = Nothing
Else
Dim filter As String
filter = "客户 = '" & dr("客户") & "' And 入出 = '" & dr("入出") & "' And 收免 = '" & dr("收免") & "' And 特殊 = '" & dr("特殊") & "' And 部门 = '" & dr("部门") & "'"
pr = DataTables("报价表").Find(filter)
If pr IsNot Nothing And dr("完成") = 0 Then
dr("工件") = pr("完成_工件")
dr("基准收费") = pr("基准价")
dr("超标收费") = pr("超标价")
dr("检测") = pr("检测")
dr("税率") = pr("税率")
ElseIf pr IsNot Nothing And dr("删除") = 0 Then
dr("工件") = pr("删除_工件")
dr("基准收费") = pr("基准价")
dr("超标收费") = pr("超标价")
dr("检测") = pr("检测")
dr("税率") = pr("税率")
ElseIf pr IsNot Nothing And dr("退回") = 0 Then
dr("工件") = pr("退回_工件")
dr("基准收费") = pr("基准价")
dr("超标收费") = pr("超标价")
dr("检测") = pr("检测")
dr("税率") = pr("税率")
Else
dr("工件") = 0
dr("基准收费") = 0
dr("超标收费") = 0
dr("检测") = 0
dr("税率") = 0
End If
End If
End Select
3、e. 是无法在命令窗口出现的。需要写在表的事件中。明白了,谢谢。
[此贴子已经被作者于2012-8-11 21:59:45编辑过]