以文本方式查看主题 - 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楼的问题,我没有看明白 |