以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  这个公式怎么计不出结果呢  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=183344)

--  作者:zhuxinhui
--  发布时间:2022/11/2 10:37:00
--  这个公式怎么计不出结果呢
 

这个公式怎么计不出结果呢?哪里出问题??

Dim u As Table = Tables("资金")

For i As Integer = 0 To u.Rows.count - 1

    Dim dr As Row = u.Rows(i)

    Dim fdt As DataRow = DataTables("应付").SQLfind("单号=\'" & u.Rows(i)("单号") & "\'")

    If fdt IsNot Nothing Then

        fdt("已付货款") = DataTables("资金").sqlCompute("Sum(支出)", "[单号] =\'" & fdt("单号") & "\'") - DataTables("资金").sqlCompute("Sum(收入)", "[单号] =\'" & fdt("单号") & "\'")

    End If

   

    Dim fdz As DataRow = DataTables("应收").SQLfind("单号=\'" & u.Rows(i)("单号") & "\'")

    If fdz IsNot Nothing Then

        fdz("已收货款") = DataTables("资金").SQLCompute("Sum(收入)", "[单号] =\'" & fdz("单号") & "\'") - DataTables("资金").SQLCompute("Sum(支出)", "[单号] =\'" & fdz("单号") & "\'")

    End If

Next


--  作者:有点蓝
--  发布时间:2022/11/2 10:49:00
--  
没有保存,SQLfind出来的是一个独立的行,和已经加载的表格没有关系的

    If fdt IsNot Nothing Then

        fdt("已付货款") = DataTables("资金").sqlCompute("Sum(支出)", "[单号] =\'" & fdt("单号") & "\'") - DataTables("资金").sqlCompute("Sum(收入)", "[单号] =\'" & fdt("单号") & "\'")

fdt.save

    End If


--  作者:zhuxinhui
--  发布时间:2022/11/2 11:06:00
--  
还是不行??
--  作者:zhuxinhui
--  发布时间:2022/11/2 11:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:zhuxinhui
--  发布时间:2022/11/2 11:24:00
--  

这个例子,刷新下数据又可以

 


--  作者:有点蓝
--  发布时间:2022/11/2 12:22:00
--  
sqlxxx系列用法都是直接操作后台的,前台要重新加载才能看到更改的数据:http://www.foxtable.com/webhelp/topics/2902.htm

如果要直接操作前台数据,使用find,不要使用sqlfind

--  作者:zhuxinhui
--  发布时间:2022/11/2 13:49:00
--  

要对后台数据进行统计,所以必须要使用SQL****

这个问题我测试下,再修改下

 

 


--  作者:zhuxinhui
--  发布时间:2022/11/2 13:52:00
--  

蓝老师:1、如果后台数据有100W条,使用SQLCompute(Expression, Filter)语句,统计一个后台数据大约需要多长时间?

2、使用SQL数据库是不是会快些?

 


--  作者:有点蓝
--  发布时间:2022/11/2 13:56:00
--  
1、和许多因素有关,网络、数据量,数据库的优化,代码的逻辑复杂度,只能自己多测试看平均时间了
2、SqlServer肯定比access快