易表在线答疑技术与交流用户社区 → [求助]请教如何将本月没抄到表的“上月抄表数值”引用到“本月抄表数值”中?


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

主题:[求助]请教如何将本月没抄到表的“上月抄表数值”引用到“本月抄表数值”中?

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/8/24 0:45:00 [只看该作者]

下面引用由tzszw2007/08/24 00:38am 发表的内容:
呵呵,刚才又试了几次,真行了,谢谢呀!

这会你又错了,我帮你找到问题所在了。
你的窗口属性公式用了排除重复内容,而窗口是插入了本表,此时在窗口中选择其它行时因为主表数据被隐藏,窗口和主表不同步,而公式判断是以主表行为准的,所以才会出错。

删除窗口属性中的内部命令。

-=-=-=- 以下内容由 Czy2007年08月24日 00:48am 时添加 -=-=-=-

说你错是因为你的对偶然的(刚好主表和窗口行同步),反之就会出错


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/8/24 10:26:00 [只看该作者]

今天上午按CZY老师指导的方法终于将“同步更新抄表员”的问题解决了!谢谢CZY老师!

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/8/24 14:23:00 [只看该作者]

下面引用由tzszw2007/08/23 11:49pm 发表的内容:
二、我只是想将msgbox的提示信息后延半分钟左右或侦测龙resut.txt文件出现后再提示,但试了多种方法没成功,所以再次提问,不好意思。

才看到你的这个贴子已经重新编辑过。
这样的判断是不行的,易表发送Run命令后就算完成任务了,即使你判断resut.txt有无此文件,它也是瞬间的事,而这时批处理根本没有完成,也就没有生成resut.txt文件。

直接在按钮公式中进行延时是不行的,但你可以用定时器加以控制就行,比如将下面的公式贴到原按钮公式中(截取自原公式):

if(usertype<=5 or username="== 请选择用户名 =="or username="管理员"or username="超级用户",SetLabel(" ","√")and if(MsgBox("你确信要从手掌机下载抄表数据到计算机中吗?",2,4)=true,SetLabel("","正在从抄表机下载数据,请稍候...") And run(appdir+"jssj00.vbs")and if(Exist(appdir+"resut.txt")=true,SetLabel("  ","√")and run(appdir+"接收数据.exe") And SetLabel("  ","√"),SetLabel("","正在从抄表机下载数据,请稍候...")) and 变量赋值公式,MsgBox("你取消了从手掌机下载抄表数据到计算机中的操作!",0,4)),MsgBox("对不起,你无此项操作权限!",0,4))

然后将其它(原公式的中间段)公式放到定时器中,在公式前加上判断变量值是否到达指定值然后执行。
在公式的最后加上清除变量值公式即可。


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/8/24 22:42:00 [只看该作者]

[这个贴子最后由tzszw在 2007/08/24 11:11pm 第 1 次编辑]

下面引用由czy2007/08/24 02:23pm 发表的内容:
才看到你的这个贴子已经重新编辑过。
这样的判断是不行的,易表发送Run命令后就算完成任务了,即使你判断resut.txt有无此文件,它也是瞬间的事,而这时批处理根本没有完成,也就没有生成resut.txt文件。
直接在 ...

"然后将其它(原公式的中间段)公式放到定时器中,在公式前加上判断变量值是否到达指定值然后执行。
在公式的最后加上清除变量值公式即可。"
呵呵.CZY老师你好,这里我看了半天还没弄明白,能否请你再讲得详细一点呀?

现在我已将公式简化成以下内容:
if(usertype<=5 or username="== 请选择用户名 =="or username="管理员"or username="超级用户",SetLabel(" ","√")and if(MsgBox("你确信要从手掌机下载抄表数据到计算机中吗?",2,4)=true,SetLabel("","正在从抄表机下载数据,请稍候...") And run(appdir+"jssj00.vbs")and SetLabel("  ","√")and if(MsgBox("从手掌机下载抄表数据到计算机中操作成功!是否立即将下载的抄表数据更新到计算机系统程序中?",2,4)=true,SetLabel("   ","√")and SetLabel("","正在更新抄表数据,请稍候...") And SetVariable("%时间%",Now()) And ClearGrid("recesfk") And AddRow("recesfk",1) And EvalFor("recesfk",1,"ImportDBFile(appdir+""recesfk.dbf"",10)",[recesfk!Rows],[recesfk!Rows])and DelFor("recesfk","PH","=","") and DelFor("recesfk","PH","=","True")and RecalcCol("recesfk","BQ")and ReplaceFor("recesfk","shx",-1)and RecalcCol("jb","shx")and SetLabel("    ","√")and EvalFor("jb",[%本月抄见%],"[RECESFK!BQ]","shx","=",-1) and EvalFor("jb",[%上月抄见%],"[RECESFK!SQ]","shx","=",-1)and EvalFor("jb","上期时间","[更新时间]","shx","=",-1,"本月抄见","=",0)and EvalFor("jb","时间","today()","shx","=",-1,"本月抄见","=",0)and EvalFor("jb","更新时间","today()","shx","=",-1,"本月抄见","=",0)and EvalFor("jb","本期时间","today()","shx","=",-1,"本月抄见","=",0)and EvalFor("jb","换表前抄见","[RECESFK!HB]","shx","=",-1,"本月抄见","=",0)and SetLabel("","抄表数据更新处理完毕!")and SetLabel("  "," ")and SetLabel(" "," ")and MsgBox("数据已成功从抄表机下载,请退出或继续下载操作!",0,4),MsgBox("数据已成功从抄表机下载但未更新,请退出或继续下载操作!",0,4)),MsgBox("你取消了从手掌机下载抄表数据到计算机中的操作!",0,4)),MsgBox("对不起,你无此项操作权限!",0,4))


run(appdir+"jssj00.vbs") 为一句运行大约30秒;
我想将if(MsgBox("从手掌机下载抄表数据到计算机中操作成功!是否立即将下载的抄表数据更新到计算机系统程序中?",2,4)=true  为一句子的运行时间后延30秒执行


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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/8/24 23:13:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/8/24 23:19:00 [只看该作者]

窗口显示的变量是延时30秒后的秒数,你可以标签中的秒看看是否达到要求了。

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/8/24 23:35:00 [只看该作者]

呵呵,运行了几次,未见成功,总是停留在“正在从抄表机上下载数据,请稍候......”,不再向下运行
见图[UploadFile=1CE1B41C31FC1C31_1187969905.bmp]

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/8/24 23:46:00 [只看该作者]

老兄,有点累。
看看你的这一段公式:if(Exist(appdir+"resut.txt")=true,……
请问你的易表安装目录下有此文件吗,如果有此文件还不运行那就奇怪了。

不检查也可以,只需将上面公式中的true换成False试试。


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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/8/25 0:08:00 [只看该作者]

建议还是将这段公式改成这样吧(删除exist判断):

if(usertype<=5 or username="== 请选择用户名 =="or username="管理员"or username="超级用户",SetLabel(" ","√")and if(MsgBox("你确信要从手掌机下载抄表数据到计算机中吗?",2,4)=true,SetLabel("","正在从抄表机下载数据,请稍候...") And run(appdir+"jssj00.vbs")and SetLabel("  ","√")and run(appdir+"接收数据.exe") And SetLabel("  ","√") and SetLabel("","正在从抄表机下载数据,请稍候...") and 变量赋值公式,MsgBox("你取消了从手掌机下载抄表数据到计算机中的操作!",0,4)),MsgBox("对不起,你无此项操作权限!",0,4))


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2007/8/25 7:06:00 [只看该作者]

下面引用由czy2007/08/25 00:08am 发表的内容:
建议还是将这段公式改成这样吧(删除exist判断):
if(usertype<=5 or username="== 请选择用户名 =="or username="管理员"or username="超级用户",SetLabel(" ",&q ...

CZY老师你好!改成这样是简洁得多了,但对于检测并无多大帮助的.
因为run(appdir+"jssj00.vbs")管手掌机与电脑的数据传输(传输结束即自动生成resut.txt文件,通讯成功则含有"通讯成功"字样,通讯失败则含有"通讯失败"字样);而run(appdir+"接收数据.exe") 管检测E表安装目录下是否有resut.txt文件并查看该文件中是否含有"通讯成功"字样。
这两个语句放在一块就达不到目的了呀,关键是要在run(appdir+"接收数据.exe")执行之前加变量延时判断才行的。

 回到顶部
总数 50 上一页 1 2 3 4 5