以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这个公式怎么计不出结果呢 (http://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 --
|
||||
-- 作者: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快
|