易表在线答疑技术与交流用户社区 → [求助]表刷新


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

主题:[求助]表刷新

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
[求助]表刷新  发帖心情 Post By:2013/9/20 9:19:00 [只看该作者]

本地文件与局域网共享文件夹中某一文件有同样的表,当本地文件中的表进行维护后,要刷新局域网中相应的表,一般是在局域网相应的表设置按钮完成。能不能就在本地文件的表中设置按钮,直接将维护好的数据在局域网相应的表中进行刷新?谢谢。

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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/9/20 9:50:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查询、更新数据库.rar


 

其中Eval公式部分估计你不容易看懂。给你分解出来,便于你理解以及进一步认识“Eval”公式。
==================================================
查询按钮的公式:
ClearGrid("表1") And Import("表1",docdir+"数据库.egd","表1") And DelRow("表1",1) And
ClearGrid("表2") And Import("表2",docdir+"数据库.egd","表2") And DelRow("表2",1) And
ClearGrid("表3") And Import("表3",docdir+"数据库.egd","表3") And DelRow("表3",1)

通用公式:(文件中的表名称和表数量任意)
Eval("ClearGrid("""+Substitute(Substitute(Substitute(Substitute(Eval("Substitute(""|@|#|$|"",""|"","""+Substitute(ListGrids(),"|",""")+""|""+Substitute(""|@|#|$|"",""|"",""")+""")"),"@",""") And Import("""),"#",""",docdir+""数据库.egd"","""),"$",""") And DelRow("""),"|",""",1) And ClearGrid(""")+""",1)")
=================================================
更新按钮的公式:
CopyGrid(docdir+"数据库.egd","表1","888","表1") And
CopyGrid(docdir+"数据库.egd","表2","888","表2") And
CopyGrid(docdir+"数据库.egd","表3","888","表3")

通用公式:
Eval("CopyGrid(docdir+""数据库.egd"","""+Substitute(Substitute(Eval("Substitute(""|@|"",""|"","""+Substitute(ListGrids(),"|",""")+""|""+Substitute(""|@|"",""|"",""")+""")"),"@",""",""888"","""),"|",""") And CopyGrid(docdir+""数据库.egd"",""")+""")")

[此贴子已经被作者于2013-9-20 10:40:24编辑过]

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/9/20 10:53:00 [只看该作者]

老师的公式是不是要先将“同步数据.egd”中的几个表同时复制到“数据库.egd”中,再删除“数据库.egd”中原有的几个表?

我的实际应用中不需要同时刷新,就单个的表就行了,因为某个时点是不存在同时维护一个文件中的几个表并刷新另外文件中相应表的情况。我想知道的是:如何在当前表中用按钮公式清除目标文件中相应表的所有数据。ClearGrid()函数好像没有路径功能。谢谢。


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/9/20 10:57:00 [只看该作者]

老师的公式确实一时半会看不懂。不知可不可以用DelFor2()来先删除目标表,再用CopyGrid()来向目标表复制数据。

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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/9/20 11:20:00 [只看该作者]

你怎么不研究函数的功能、语法?

CopyGrid()
=================
将当前文件中的指定表复制到目标文件中。
语法
CopyGrid(FileName,Grid,Password,SourceGrid,Option)
FileName       目标文件,包括路径和文件名,如果目标文件不存在,则自动创建目标文件。
Grid           目标表名,如果已经存在,将被覆盖。
PassWord       目标文件的管理员密码。
SourceGrid     当前文件中的某个表,可以用位置,也可以用表名表示。
Option         可选参数
               0:包括数据
               1:不包括数据,仅包括结构。
               默认为0
例子:
CopyGrid("c:\sales.egd","六月数据","","本月订单")
将当前文件的“本月订单表”复制到文件c:\sales.egd中,表名为“六月数据”。
CopyGrid("c:\sales.egd","总表","888","本月订单",1)
在文件c:\sales.egd中创建一个名为“总表”的空表,结构和当前文件的“本月订单表”一样,这里假定c:\sales.egd的管理员密码为888。


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/9/20 11:37:00 [只看该作者]

以下是引用iyplx2425在2013-9-20 10:57:00的发言:
老师的公式确实一时半会看不懂。不知可不可以用DelFor2()来先删除目标表,再用CopyGrid()来向目标表复制数据。

当然可以使用DelFor2()来先删除目标表中符合条件的行。但是你又使用CopyGrid()来向目标表复制数据,这样你前面的“使用DelFor2()来先删除目标表中符合条件的行”不就“多此一举”了?


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/9/20 11:37:00 [只看该作者]

哦。我只注重了“自动创建”,没仔细思考“覆盖”两个字的含义,脸潮。还有一个问题请老师指点:上传文件中,“表1”[姓名],能不能像EXCEL那样,只要输入第一个字(一般是姓氏),“表2”中所有这个姓氏的姓名显示出来,供选择?

 

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

谢谢!

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/9/20 11:49:00 [只看该作者]

我在“表1”的[姓名]列设如下的项目列表公式:IF(Len([姓名]) = 2,ListFor("表2","姓名",Left(FindText("表2","姓名")),"姓名"),[姓名]),实现不了。

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/9/20 11:51:00 [只看该作者]

是:IF(Len([姓名]) = 2,ListFor("表2","姓名",Left(FindText("表2","姓名"),2),"姓名"),[姓名])。

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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/9/20 12:05:00 [只看该作者]

以下是引用iyplx2425在2013-9-20 11:37:00的发言:

哦。我只注重了“自动创建”,没仔细思考“覆盖”两个字的含义,脸潮。还有一个问题请老师指点:上传文件中,“表1”[姓名],能不能像EXCEL那样,只要输入第一个字(一般是姓氏),“表2”中所有这个姓氏的姓名显示出来,供选择?

 

 下载信息  [文件大小:1.7 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:1122.egd

谢谢!

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


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