以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67596)

--  作者:青鸟
--  发布时间:2015/4/27 11:59:00
--  [求助]
我有几个列如下:

合同总额     累计已支付  本次支付   是否付清
(Double)       (Double)    (Double)    (Boolean)

其中:合同总额   是从其它表根据合同编号筛选得来 
   累计已支付  是在本表根据合同编号筛选后SUM得来
   本次支付   是在录入窗口中直接输
   
希望在录入窗口中写入两个表达式
   其一:容错表达式 IIF(累计已支付+本次支付>合同总额,return,.....)
      其二:自动判断是否付清 如   累计已支付+本次支付=合同总额 ,则勾选 是否付清列 这段代码不会写

代码如下:代码出错提示是string转换为double无效

Dim bczf As String = "\'"&forms("支付台账录入").controls("NumericComboBox1").text &"\'"
Dim fyze As String = "\'"&forms("支付台账录入").controls("TextBox2").text &"\'"
Dim flt As String ="合同or费用编号 = \'"&forms("支付台账录入").controls("DropBox3").text &"\'And 支付日期 < \'# " & forms("支付台账录入").controls("DateTimePicker1").text  & " #\'"
Dim ljzf As String = DataTables("支付台账").compute("sum(本次支付金额)",flt)

If CDbl(bczf) + CDbl(ljzf) > CDbl(fyze) Then
    Return
Else
    Tables("支付台账").Current("累计已支付") = ljzf \'DataTables("支付台账").compute("sum(本次支付金额)",flt)
End If

请教





--  作者:Bin
--  发布时间:2015/4/27 13:34:00
--  
Dim bczf As String = forms("支付台账录入").controls("NumericComboBox1").text 
Dim fyze As String = forms("支付台账录入").controls("TextBox2").text 
Dim flt As String ="合同编号 = \'" & forms("支付台账录入").controls("DropBox3").text & "\' And 支付日期 < # " & forms("支付台账录入").controls("DateTimePicker1").text  & "#"
Dim ljzf As String = DataTables("支付台账").compute("sum(本次支付金额)",flt)

If CDbl(bczf) + CDbl(ljzf) > CDbl(fyze) Then
    Return
Else
    Tables("支付台账").Current("累计已支付") = ljzf \'DataTables("支付台账").compute("sum(本次支付金额)",flt)
End If

--  作者:青鸟
--  发布时间:2015/4/27 16:56:00
--  
谢谢!

再一个问题:如何获得当前行的行号呢?
下面代码,我是希望通过 Table 中当前行对应的 Identify,来获得 r 的行号,然后向 r 赋值进行后面的操作,当 Identify 与行号是对应时没有问题,但当记录被删除过后,Identify 则无法和行号对应,代码出错。即:当 msgbox(id) 显示是17时(前面删除过记录),而当前行行号为0时,msgbox(r)出错
 If .Current IsNot Nothing Then
        id = Tables("支付台账").Current("_Identify")
msgbox(id)
        r = Tables("支付台账").Rows(id-1)
msgbox(r)
        dr = DataTables("支付汇总").Find("合同or费用编号 = \'"& r("合同or费用编号") &"\'") 

--  作者:Bin
--  发布时间:2015/4/27 16:58:00
--  
Tables("支付台账").Current.Index
--  作者:Bin
--  发布时间:2015/4/27 16:58:00
--  
Tables("支付台账").Current.Index+1
--  作者:青鸟
--  发布时间:2015/4/27 17:25:00
--  
刚才那个问题解决了,谢谢!
又有个问题:

一个下拉目录树代码如下,没有问题。但我想在 flt 中再加一个筛选条件,这个条件不在Datable_合同or费用台账 中,而在 Datable_支付汇总 中的 [是否付清] 列,希望下拉菜单中只出现满足 名称 类别 相同,[是否付清] 是 False 的 合同编号,除了在 Datable_合同or费用台账 中增加 [是否付清] 列外,还有其它比较简便的办法吗?

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim flt As String
If Forms("支付台账录入").Opened Then
    flt ="合同or费用对象简称 = \'"&forms("支付台账录入").controls("DropBox1").text &"\' And 四级费用类别 = \'"& forms("支付台账录入").controls("DropBox2").text &"\'"
    trv.BuildTree("合同or费用台账","合同or费用编号",flt)
End If

--  作者:Bin
--  发布时间:2015/4/27 17:27:00
--  
没有呢.
--  作者:青鸟
--  发布时间:2015/4/27 17:35:00
--  
上面问题,我把Datable_合同or费用台账和Datable_支付汇总 作了以合同编号进行单项关联,怎么写增加的筛选条件??谢谢
--  作者:狐狸爸爸
--  发布时间:2015/4/28 8:37:00
--  
没8楼的问题,我没有看明白