Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2783人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
青鸟
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
[求助]  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
青鸟
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 16:58:00 [只看该作者]

Tables("支付台账").Current.Index

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 16:58:00 [只看该作者]

Tables("支付台账").Current.Index+1

 回到顶部
帅哥哟,离线,有人找我吗?
青鸟
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 17:27:00 [只看该作者]

没有呢.

 回到顶部
帅哥哟,离线,有人找我吗?
青鸟
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2015/4/27 17:35:00 [只看该作者]

上面问题,我把Datable_合同or费用台账和Datable_支付汇总 作了以合同编号进行单项关联,怎么写增加的筛选条件??谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/28 8:37:00 [只看该作者]

没8楼的问题,我没有看明白

 回到顶部