Foxtable(狐表)用户栏目专家坐堂 → 求个复杂点的代码


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

主题:求个复杂点的代码

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


加好友 发短信
等级:婴狐 帖子:62 积分:561 威望:0 精华:0 注册:2008/9/17 10:25:00
求个复杂点的代码  发帖心情 Post By:2008/12/18 19:29:00 [显示全部帖子]

收款明细中,当收到来款时,求个复杂点的代码

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:汽车管理系统.table

要求如下:
根据付款单位记录自动在总表中的付款单位列找到该单位,然后在该单位的运费结算_已收列中按时间(车次列)先后填(补)足应收款(余款依次填入下条记录)。计算运费结算_应收未收的值,为0时则在运费结算_结清中确定。
[此贴子已经被作者于2008-12-19 0:50:30编辑过]

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


加好友 发短信
等级:婴狐 帖子:62 积分:561 威望:0 精华:0 注册:2008/9/17 10:25:00
  发帖心情 Post By:2008/12/18 23:04:00 [显示全部帖子]

晕,错了,是已收


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


加好友 发短信
等级:婴狐 帖子:62 积分:561 威望:0 精华:0 注册:2008/9/17 10:25:00
  发帖心情 Post By:2008/12/19 0:30:00 [显示全部帖子]

不对的:
1,填入已收列的金额不能大于本车次运费结清_税后运费列的值,
2,当已收列的金额等于运费_税后运费后,余下的金额依次填入該单位的下一车次,
比方说帮A拉了三车,税后运费分别是3000,4000,5000,现在A付来10000元,现在要把10000元按运输时间顺序(附件中是按车次顺序)将前两车填或补够3000,4000,第三车填入余下的 。
[此贴子已经被作者于2008-12-19 0:42:45编辑过]

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


加好友 发短信
等级:婴狐 帖子:62 积分:561 威望:0 精华:0 注册:2008/9/17 10:25:00
  发帖心情 Post By:2008/12/20 9:18:00 [显示全部帖子]

代码放到DataColChanging中,奇怪,不填充,我按你设定的数据类型将总表的运费结算_已收和收款明细表的金额列改为双精度小数一样不填充。
T = "付款单位 = '" & e.NewValue & "'"
这句错了,改后成了,但还有个问题:如原来运费结算_已收中已有预付款就不按足额填充了。

[此贴子已经被作者于2008-12-20 9:39:45编辑过]

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


加好友 发短信
等级:婴狐 帖子:62 积分:561 威望:0 精华:0 注册:2008/9/17 10:25:00
  发帖心情 Post By:2008/12/20 10:31:00 [显示全部帖子]

'''
If e.DataCol.Name = "付款单位"  Then
     Dim T As String
     Dim mny,sum As Double
     Dim Da As DataTable = DataTables("总表")
     mny = e.DataRow("金额")
      if mny <=0 then
          MessageBox.Show("请输入金额!", "提示")
     Else   
         T = "付款单位 = '" & e.NewValue & "'"
         if Da.Find(T) isNot nothing then
               for each dr As DataRow in Da.select(T)
                       sum = Da.Compute("Sum(运费结算_已收)",T)
                       if sum = mny
                             Exit For
                       end if
                       if  mny - sum >= dr("运费结算_应收费")                            
                           dr("运费结算_已收") = dr("运费结算_应收费")
                           mny=mny + sum
                        End if
                       Else
                             dr("运费结算_已收") = mny - sum
                       End if
               Next
         end if
     end if
end if
这样好点,如果金额填完所有记录还有余额时能提示就更完善了。
[此贴子已经被作者于2008-12-20 12:19:04编辑过]

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


加好友 发短信
等级:婴狐 帖子:62 积分:561 威望:0 精华:0 注册:2008/9/17 10:25:00
  发帖心情 Post By:2008/12/20 23:28:00 [显示全部帖子]

晕,把东老大也引来了,谢谢。大师级出手,太好啦,能不能再帮我把其它代码优化一下啊?
[此贴子已经被作者于2008-12-21 7:20:59编辑过]

 回到顶部