以文本方式查看主题 - 易表在线答疑 (http://www.egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://www.egrid2000.com/dvbbs/list.asp?boardid=2) ---- [讨论]XP下内存错误 (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=10143) |
-- 作者:xjy -- 发布时间:2007/10/28 10:51:00 -- [讨论]XP下内存错误 我的易表文件在XP系统下总是出错。 经多次实验发现:只要是在窗口的“打开前执行公式”中输入诸如:FindText("个人质效汇总","发放时间","排序",">","",-1)类(用maxfor()函数测试也一样 )公式就会出错。但只是输入:FindText("个人质效汇总","发放时间")则不会出错。 还有FindText("个人质效汇总","发放时间","排序",">","",-1)发放时间为时间型,可输出的结果为以日为单位的数值。 我的机器为Ghost的Win xp是不是Ghost的系统问题,请大家测试。 [UploadFile=123_1193539825.bmp] -=-=-=- 以下内容由 xjy 在 2007年10月28日 11:01am 时添加 -=-=-=- 在2K系统下没有发现错误问题 |
-- 作者:程兴刚 -- 发布时间:2007/10/28 11:33:00 -- 呵呵,窗口打开前公式压根儿就不应该单独用FindText()或maxfor()函数的公式,他俩返回的是某一个实际值,这个值赋给谁?放到哪里? 在这里应该设置操作型公式,比如:AddRow()、AppendRows()、BackupFile()SetCellText()、ShowAllRows()、Select()、SetFocus()、SetLabel()、SetVariable()、SortCol().......等等函数(还有很多,不再一一列举),而最常用的有SetLabel()、SetVariable()、SortCol().......等等! 拿您的函数公式于这些对比就知道了,没有不出现内存错误的理由! |
-- 作者:程兴刚 -- 发布时间:2007/10/28 11:37:00 -- 从您的截图里看,是直接用SetVariable()、FindText()函数嵌套错误,将FindText()部分改为变量,其它嵌套您自己再试试! |
-- 作者:xjy -- 发布时间:2007/10/28 11:54:00 -- 谢谢。 将FindText("个人质效汇总","发放时间","排序",">","",-1)设置为表达式变量后是没有问题了。 为何FindText("个人质效汇总","发放时间","排序",">","",-1)值的结果为39264?应该为2007-7-1的呀? -=-=-=- 以下内容由 xjy 在 2007年10月28日 11:55am 时添加 -=-=-=- 现在我是再加Text()解决的 |
-- 作者:Czy -- 发布时间:2007/10/28 11:56:00 -- Date(FindText("个人质效汇总","发放时间","排序",">","",-1)) 这才是2007-7-1 |
-- 作者:xjy -- 发布时间:2007/10/28 12:04:00 -- 易表中的解释:FindText的返回值类型根据列类型确定,如果找到符合条件的行,那么返回值与该列类型相同。 再用Date(FindText("个人质效汇总","发放时间","排序",">","",-1))的结果仍然是数值39264呀? -=-=-=- 以下内容由 xjy 在 2007年10月28日 00:08pm 时添加 -=-=-=- 类型倒是时间型值却是数值 |
-- 作者:Czy -- 发布时间:2007/10/28 12:07:00 -- Date(39264)=2007-7-1 自己试一下不就知道了。 |
-- 作者:程兴刚 -- 发布时间:2007/10/28 12:26:00 -- 下面引用由xjy在 2007/10/28 00:04pm 发表的内容: 易表中的解释:FindText的返回值类型根据列类型确定,如果找到符合条件的行,那么返回值与该列类型相同。 再用Date(FindText("个人质效汇总","发放时间","排序",">","",-1))的结果仍然是数值39264呀?
注:应该是您将%汇总时间%、%时间%、%发放时间%设成了数值型或字符型,使用text()函数嵌套后,生成的格式是这样:2007-9-25,您的变量则为字符型;如果生成的格式是这样:2007-09-25,您的变量则为数值型,请楼主测试! |
-- 作者:xjy -- 发布时间:2007/10/28 13:31:00 -- 这样计算都不错,包括直接用FindText("个人质效汇总","发放时间","排序",">","",-1),但是将值输出到变量就不行了。 -=-=-=- 以下内容由 xjy 在 2007年10月28日 01:39pm 时添加 -=-=-=- 变量是日期型 |
-- 作者:xjy -- 发布时间:2007/10/28 13:42:00 -- 下面引用由程兴刚在 2007/10/28 00:26pm 发表的内容: 第一:您的理解没有错,易表的解释也没有错! 第二:FindText的返回值类型根据列类型,它主要区别于当前生成数据的列(欲赋值的列或变量)的类型,将您的变量 %汇总时间%、%时间%、%发放时间% ... 我设置的变量都是时间型的。 |