Foxtable(狐表)用户栏目专家坐堂 → 拷贝问题报告


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

主题:拷贝问题报告

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
拷贝问题报告  发帖心情 Post By:2008/9/26 10:22:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table


1、见窗口3,拷贝(采取先导出Excel,后合并回来的办法)按钮后,出现以下错误提示,一直按ESC键或Enter键,直到结束后检查,拷贝目的能实现。

图片点击可在新窗口打开查看此主题相关图片如下:02.jpg
图片点击可在新窗口打开查看
2、如果删除“表A”中的“代码金额”列中的计算代码后,拷贝正常,且不会出现以上的提示。(表B中有重算表A的“代码金额”的代码)
3、如果继续1的话,会先出现以下的错误提示,拷贝编号对象改变了,但所得的拷贝内容仍然是第一次的内容。这个倒是可以另外自行解决,不是主要问题。


图片点击可在新窗口打开查看此主题相关图片如下:04.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-9-26 10:34:47编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/26 10:42:00 [只看该作者]

拷贝采用Filler的话,同样会出现以上1中的错误提示,区别的是:一直按ESC键结束后检查拷贝了1次,如果一直按Enter键结束后检查拷贝了2次。见以下例子的窗口3的“拷贝2”按钮。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/26 10:43:00 [只看该作者]

现有的项目中的拷贝做法同2楼,但出现的错误提示不同于1楼的

图片点击可在新窗口打开查看此主题相关图片如下:03.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-9-26 10:44:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 10:51:00 [只看该作者]

错误提示已经很清楚了,代码金额列的计算代码有误:

 

dim sum1 As Double

dim sum2 As Double

sum1=DataTables("表B").Compute("Sum(数量)","[编号]='" & e.datarow("编号") & "'")

sum2=DataTables("表C").Compute("Sum(数量)","[编号]='" & e.datarow("编号") & "'")

e.datarow("金额")=sum1+sum2



你的表C有数量列吗?

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/26 11:16:00 [只看该作者]

惭愧,有点疏忽,改正该计算代码:
dim sum1 As Double
dim sum2 As Double
sum1=DataTables("表B").Compute("Sum(金额)","[编号]='" & e.datarow("编号") & "'")
sum2=DataTables("表C").Compute("Sum(金额)","[编号]='" & e.datarow("编号") & "'")
e.datarow("代码金额")=sum1+sum2

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table


但是错误依然存在。
请老六排查问题,谢谢!
[此贴子已经被作者于2008-9-26 17:14:09编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/26 13:32:00 [只看该作者]

这应该是个bug吧,按理说表达式子列也同样支持计算代码的。

将楼上的e.datarow("金额")改成e.datarow("计算金额")就正常了。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/26 14:40:00 [只看该作者]

谢谢czy斑竹的提醒,对4楼的数据和代码作了必要的修正。
为了避免表达式列的“干扰”,我将之删去,请重新下载4楼的例子测试,该错误现象依然存在。
初步感觉是,Filler与导出&导入的拷贝动作,数据拷贝和该表DataColchanged等事件对该表数据的计算引用之间产生冲突所致;
不过表现方式不同而已,上传的例子和已经在做项目的错误提示不同。
不知道这个分析对不对?
[此贴子已经被作者于2008-9-26 14:40:45编辑过]

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 15:12:00 [只看该作者]

你首先要保证你得计算代码能通过:

 

dim sum1 As Double

dim sum2 As Double

sum1=DataTables("表B").Compute("Sum(代码金额)","[编号]='" & e.datarow("编号") & "'")

sum2=DataTables("表C").Compute("Sum(代码金额)","[编号]='" & e.datarow("编号") & "'")

e.datarow("代码金额")=sum1+sum2


表B和表C没有“代码金额”这一列,谈什么计算啊。

你首先要在表A中重算代码金额这一列,保证你的计算代码能通过啊。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/26 15:15:00 [只看该作者]

应该这样吧?

dim sum1 As Double
dim sum2 As Double
sum1=DataTables("表B").Compute("Sum(金额)","[编号]='" & e.datarow("编号") & "'")
sum2=DataTables("表C").Compute("Sum(金额)","[编号]='" & e.datarow("编号") & "'")
e.datarow("代码金额")=sum1+sum2

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/26 15:17:00 [只看该作者]

哦,我马后炮了。

 回到顶部
总数 15 1 2 下一页