Foxtable(狐表)用户栏目专家坐堂 → 有个项目 困扰了很久 现在终于发现问题了 但不知道如何解决?


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

主题:有个项目 困扰了很久 现在终于发现问题了 但不知道如何解决?

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


加好友 发短信
等级:九尾狐 帖子:2554 积分:20096 威望:0 精华:0 注册:2012/5/19 11:57:00
有个项目 困扰了很久 现在终于发现问题了 但不知道如何解决?  发帖心情 Post By:2016/10/1 9:03:00 [只看该作者]

有个项目 困扰了很久 现在终于发现问题了 但不知道如何解决?


项目下有个客户表 销售表
客户表结构 客户编码 客户名称 期初余额 借方金额 贷方金额 余额
销售表结构 单据号 日期 客户编码 客户名称 产品编码 产品名称 数量 单价 金额 
 销售单的datachanged 代码如下

 Dim dr1 As DataRow
        dr1 = DataTables("客户").Find("[客户名称] ='" & Tables("销售单").current("客户名称") & "' ")
        If dr3 IsNot Nothing Then
            dr3("借方金额")=dr3("借方金额")+Tables("销售单").current("金额")
            dr3("余额")=dr3("期初金额")+dr3("借方金额")-dr3("贷方金额")
        End If
        DataTables("客户").save()

在网络环境下,录入销售单 客户名称相同的话 ,发现客户的余额 不对 ,原因是加载问题,客户表一旦加入 ,当一个站点保存时 对于另一个站点来说 没有及时更新 还是原来加载时的数据 请教狐爸如何处理这个问题?




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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/1 9:16:00 [只看该作者]

1、先纠正一个小错误,代码中的:

 

Tables("销售单").current

 

应该改为:

 

e.DataRow

 

 

2、多用户输入, 不要这样统计,一般都是用查询表或统计工具,在需要的时候统计出结果,或者用表达式列统计,这样确保每次看到的都是当时正确的结果。

 

 

3、如果一定要这样统计的话,Find用SQLFind代替。

 

4、还可以看看:

http://www.foxtable.com/webhelp/scr/3006.htm

 

[此贴子已经被作者于2016/10/1 9:16:39编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2554 积分:20096 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/10/1 10:10:00 [只看该作者]

 谢谢狐爸 指点迷津
  我用第三条测试了一下 后台数据没有更新 
 3、如果一定要这样统计的话,Find用SQLFind代替。 

代码如下
        '进客户
        Dim dr3 As DataRow
        dr3 = DataTables("客户").sqlFind("[客户名称] ='" & Tables("销售单").current("客户名称") & "' ")
        If dr3 IsNot Nothing Then
msgbox("$#")   
msgbox(Tables("销售单").current("金额"))

         dr3("借方金额")=dr3("借方金额")+Tables("销售单").current("金额")
msgbox(dr3("借方金额"))


            dr3("余额")=dr3("期初金额")+dr3("借方金额")-dr3("贷方金额")
msgbox(dr3("余额"))
        End If
        DataTables("客户").save()

为啥

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/1 10:11:00 [只看该作者]

sqlFind得到的是后台数据的当前值,如果你或者其他人输入了数据,没有保存,SQLFind也无能为力

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


加好友 发短信
等级:九尾狐 帖子:2554 积分:20096 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/10/1 10:15:00 [只看该作者]

上面代码不是保存了吗

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/1 10:20:00 [只看该作者]

请单独做一个简单的例子发上来,说明你要做什么,描述清楚问题,不要整个项目发上来。

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


加好友 发短信
等级:九尾狐 帖子:2554 积分:20096 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/10/1 10:49:00 [只看该作者]

我做个最简单的列子 上传过来 狐爸帮助看一下 ,网络环境下多用户录入销售单,客户表的后台余额能同步更新
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar


[此贴子已经被作者于2016/10/1 10:49:21编辑过]

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/2 8:21:00 [只看该作者]

统计结果的准确性很重要,网络环境没有办法100%保证保证统计结果同步。
单独做个查询表,需要的时候,重新Load这个查询表:
http://www.foxtable.com/webhelp/scr/2325.htm
或者另外做个统计按钮。



 回到顶部