易表在线答疑技术与交流用户社区 → [公告]聚沙篇(易表应用小技巧)


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

主题:[公告]聚沙篇(易表应用小技巧)

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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
[公告]聚沙篇(易表应用小技巧)  发帖心情 Post By:2006/8/13 14:04:00 [只看该作者]

[这个贴子最后由smileboy在 2006/08/13 03:04pm 第 1 次编辑]相信每个易表爱好者在应用过程中都有自己的一些应用小技巧,这些技巧通常不是帮助文件都能涵盖到的,为了让大家共享这些技巧,特设置此贴。
跟贴规则: - 只要认为是个人的经验所得,即可跟贴。 - 内容可以是最简单、最常见而容易被忽略的。 - 有关函数应用方面的技巧不要跟贴,请到应用技巧区发布。 - 内容不要重复,也不要发表例如“谢谢,支持”之类的贴子,否则删除。
聚沙成塔,集腋成裘,发挥你的一份热量,请积极跟贴吧!
说明:为使该贴的内容更好地服务于各位论坛成员,版主可能视情况对发贴进行编辑、整理甚至删除,请大家理解。

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


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

1、下面的公式第二个selectfill怎么也不执行,经过贺老师近一个小时的研究,原来And之前有一个全角空格,希望能够引起大家的注意:

DelFor(GridName) And SelectFill("总表","业务负责人","业务负责人","日期","日期","订单_产品","产品","订单_单价","订单_单价") And SelectFill("总表","业务负责人","业务负责人","日期","日期","代销_产品","产品","代销_单价","代销_单价","2") And DelReptRows("ww","业务负责人","日期","产品","订单_单价","代销_单价")

2、问:自动生成录入窗口也应该包含设置的变量,不然如果在窗口中插入变量,需要一个一个来,我的表有大概200多列,用下拉菜单找到一个变量需要快2分钟,10个变量就是20分钟,效率很低呀!

答:其实有个方法很简便,随便插入一个字段,把字段里的内容改为变量名就行了。

3、存盘冲突问题:
在局域网中应用易表,如果遇到存盘冲突问题可能是因为有人非正常退出,此时你只需再启动一个易表,打开正在编辑的文件,然后关闭。 接着回到原来已经编辑好数据的易表,即可正常存盘。

4、问:菜单中的“上一条”及“下一条”按钮里设置的是move函数,进入表后,如不点击其他单元格,使用“上一条”及“下一条”按钮没有作用。移动到其他单元格后,这两个按钮就可用了。不知为什么?

答:当表打开的时候,若无相关的预处理公式,row=-1,row不等于rowsel,所以,可以有两个解决方法:
1、使用rowsel变量,【上一条】公式为if(rowsel=1,true,move(rowsel-1,1)),【下一条】公式为if(rowsel=rows,true,move(rowsel+1,1))

2、使用row变量,【上一条】公式为if(row=1,true,move(row-1,1)),【下一条】公式为if(row=rows,true,move(row+1,1)),还要在“表预处理公式”中添上move(1,1)。

但总的来说,还是使用rowsel变量,比较好。

5、你碰到过想让窗口停靠在主表的右侧或下面,却不能得心应手,调整了老半天而不能使窗口和主表合为一体吗?其实这里面有点小技巧。
你如果想让窗口停靠在右侧,可以快速地把窗口往右侧拖动(亦可以慢慢地)直出表的边线,轻轻往回一带就可以了。

6、由win98操作系统自身的问题,在有冻结列的表中,拖动横向滚动条时,易表容易死机(数据量不多时,可能不会出现)。

告诉大家一个办法:1、冻结列里不要包含隐藏行。2、重新进入易表后,先调整冻结列中的其中一列的列宽,保存。然后再试试,不会死机了。如果是多用户使用,请禁止其他用户的“列宽设置”权限。

7、对于逻辑列的锁定必须选择“锁定全部内容”才行,因为逻辑列就两个值,0和-1,无所谓空与非空

8、问:我发现易表允许相同名称表的存在,请问这是否一个BUG,是否在调用时会产生混乱?
答:呵呵,不算是bug,如果用户需要调用数据,自然会给表取个不同的名字,如果存在同名表,位置靠前的优先。

9、问:修改字体大小后,新增(添加)行的字号又变小了,为什么?怎样才能使添加的行的字号与上一行一致?
答: 先显示所有列和行,然后选定整个表,设置一下字体即可(在其它地方随便做些修改才能保存)。


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:12:00 [只看该作者]

10、易表安装目录下有一个symbol.txt的文件,这是易表的符号库,易表菜单中的插入符号命令,用的就是这些符号,你可以修改这个文件,删除不需要的符号,增加你常用的符号。

11、问:如何备份我的收藏夹?
答:很简单,备份安装目录下的favorite.fvt文件即可。

12、表名和列名命名要注意:
  最好前后和中间不要有空格,否则看着公式似没错,就是得不到正确的数据,也难以发现错误。

13、有时当输入单元格公式相同但每个单元格都要重复输入,是不是很累人呢?
其实只要把要输入公式的单元格全部选中,然后一次输入就OK了!

14、如何在录入窗口显示¥100,000.00格式?
答:将表中的字段设为字符型,并在所选列中用列刷新公式Format([字段名],"Currency")

15、怎样直接取得“星期X”?
答:format(today(),"aaa")    结果= 2003-8-9=星期六


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:16:00 [只看该作者]

16、禁止行菜单中的“行高设置”命令,将同时禁止用户通过鼠标调整行高
列宽同理。

17、输入百分比样式的数值时不要直接输入xx%(如20%),而要输入0.2,然后用按工具栏中百分比样式"%"键使其显示为20%,否则引用该数据进行计算时容易出错,而且还不易找出问题在。

18、问:在录入窗口中用变量调用万年历,为什么有时行、有时不行,不行时只能靠手工输入?
答:因为光标处在锁定行上,所以不能调用。

19、问:我在文章套打中用aggregate函数设置好了公式,而且确定公式没有错,但为什么会和表中统计的总计结果不符?
答:因为你的表设置了汇总或框架模式。

20、问:我原先设计好的按钮正常,现在怎么不行了?
答:可能你更改了列名称或表名(或调整了表位置)而公式没作相应改正。设计好的表最好不要随意更改列名称或表名(或调整了表位置),设计前应想好,不然平添许多麻烦。

21、对于函数中的可选参数,并非可有可无,如可选参数后没有条件参数,则可选参数可省略,如可选参数后还有条件参数,此时可选参数成了必选参数,必须设置,如以下两公式,一正一错:
正确:SubtotalFill("汇总表","姓名","工资,奖金","2,2",0,"日期","=",[%日期%])
错误:SubtotalFill("汇总表","姓名","工资,奖金","2,2","日期","=",[%日期%])

22、如何用公式选定整个表:
select(1,1,rows,cols)

23、验证公式中如果提示语太长,显示的效果不好看,在提示语中加入char(10)或char(13)可以自动换行。
例如:1、分行显示提示语
msgbox("1、是"+char(13)+"2、否"+char(13)+"3、不确定",2)
2、第二行提示语前自动空格
msgbox("小平同志说的好:不管是黑猫还是白猫"+char(13)+char(9)+"抓到老鼠就是好猫",2)

9   TAB
10  换行
13 回车

24、问:如何在图片列批量插入图片?
答:先把图片按行号顺序编辑好,如模板区的“重温2002韩日世界杯”里的“分组”表的“全家福”列,把图片编为CJF1、CJF2、CJF3...CJF32,然后设置刷新公式:"Pic\CJF" + text(row) + ".jpg",就可批量插入图片。


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:21:00 [只看该作者]

25、常见错误:
错误:IF([日期]="",公式1,公式2),应为:If(IsBlank("日期"),公式1,公式2),因""为字符,字段类型不同是不能相比较的。
注:IsBlank除了对逻辑列不起作用外,其余的列类型都可用它来判断是否为空。

26、判断字符列是否为空可写成如:If([某列] > "","A","D"),无须If([某列] <> "","A","D")

27、用Instr或Search简化公式:如一系统有abcde五个用户,每个用户使用不同的视图,可设表预处理公式为:OpenView(Instr(username,"Zabcde"))或OpenView(Search("ZabcdeX")),这里仅说明Instr或Search简化公式所起的作用,以上问题最简洁的答案是:openview(usertype),用户的分组号设置为视图编号编号即可。

28、问:如何求在一个日期后或前几天的日期?
答:日期和数值直接加减即可。如$"2003 - 8 - 16" - 6="2003 - 8 - 10"

问:日期能否排序?
答:日期可按升或降序排序。

问:日期和日期能相加减吗?
答:不能直接加减,但通过NUMBER即可,如Number([结束日期]) - Number([开始日期])得到两个日期相隔的天数。

问:如何找出距指定日期最近或最远的日期?
答:建立一列对这列排序:Abs(Number([日期]) - Number([%指定日期%]))为最小的距指定日期最近,最大的距指定日期最远。Number([日期]) - Number([%指定日期%])为正则此日期在指定日期之后,Number([日期]) - Number([%指定日期%])为负则此日期在指定日期之前。
RAR文件下载

29、问:一月有几个星期天?
答:If(Month([日期]) = 1,Week(EOMonth([日期],0))-1,Week(EOMonth([日期],0)) - Week(EOMonth(EOMonth([日期],0) ,- 1)))
RAR文件下载

30、问:在公式生成器输入公式,有无办法点击面板上<,>,=等变成带引号如:"<",">","="等?
答:一个小秘密,就是勾选公式生成器上的"引号"后,再点击面板上的<,>,=,就会变成带引号的"<",">","="(版本需1231)

31、问:执行Select(1,1,Rows,Cols) And Do(420,1) (锁定所有行)后,全表一片蓝,有点难看,有何办法解决?
答:后面再加上Move就行了,改成:Select(1,1,Rows,Cols) And Do(420,1) And Move(1,1)

32、问:怎样将数字向上舍入为最接近的整数?
答:-int(-[本列])

33、轻轻的告诉大家:1231增加了一个变量:表位置变量grid,如grid用在文件第一个表中,返回1,用在第五个表中,返回5,如此类推,grid比gridname简洁,好用,许多地方grid可取代gridname!!
OpenGrid(grid-1) 返回到上一表
OpenGrid(grid+1) 前进到下一表
OpenGrid(grids) 前进到最后表


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:30:00 [只看该作者]

34、问:如何删除表中的空记录?
答:在最后增加一列,公式设为:Aggregate(4,Row,1,Row,Cols - 1),按钮公式设为:RecalcCol(Grid,Cols) And DelFor(Grid,Cols,"=",0)(注:本法适用于没逻辑列的表)
RAR文件下载
对于带逻辑列的,A列公式设为:Aggregate(4,Row,1,Row,Cols - 1)-n(n为逻辑列数)即可。

35、问:为保证所有资料已经录入(即记录中的所有列都非空),如何进行验证?
答:在最后增加一列,公式设为:If(Aggregate(4,Row,1,Row,Cols-1)=Cols-1, - 1,0),按钮公式设为:ShowAllRows() And RecalcCol(Grid,Cols) And FilterFor("记录是否完整", "=" ,0)
RAR文件下载

36、解决Win98非法操作的小技巧
在Win98环境下如果用表达式给变量或标签赋值,常常出现非法操作的提示,解决办法是:将SetLabel、SetVariable的第二个参数用变量代替。如模板文件“常用统计函数演示”,将表达式改成变量后,Win98就运行正常了。

37、问:如何清空窗口所有字段输入框的内容?
答:看这个!注意按钮公式的Move,用了它可解决窗口和表中不同步的问题。
RAR文件下载
另Move的作用还在时:有时几个公式组合起来达到某一目的,不加Move则光标会失去焦点,会进不了其他表或引起一些非法操作,加上Move就可轻松解决。

38、问:在查询窗口中用变量调用万年历,为什么不行时只能靠手工输入?
我的表所有记录都已锁定,请问是不是一定要在非锁定时才行?
答:在查询窗口中选择查询模式就可使用万年历输入日期,进入窗口时默认的是编辑模式

39、发现了一个解决52错误的方法(ctj兄提供):
我自从安装了1246版本以后,出现了这样一个问题:
直接在windows2000 professional中单击某个egd文件,可以打开易表,但是出现错误提示:“错误号52,错误的文件和数。“
感觉很郁闷,后来找到了原因:
原来在windows资源管理器中,“工具“菜单中的“文件夹选项”中,有一栏叫做"文件类型",找到egd文件,点击"高级"按钮,比较和其他程序的不同,发现缺少了2个操作选项:“print"和"print to",于是手工添加了这两个选项,并在“用于执行的操作程序”栏目内,填写:"X:\program files\egrip.exe" /p %1,其中,x为易表的安装盘盘符,呵呵,问题就解决了。
供大家参考。

40、问:用DelFor()删除上万行的记录比较慢,可有更快速的办法?
答:filterfor("第一列","=",[%A%]) and addrow(1,"第一列",[%A%]) and select(1,1,rows-1,1) and do(102,1) and showallrows() and If(Cell(Rows,1) = [%A%],delrow(grid,rows), True)
注:此妙法由blue_103 兄提供!经测试此法效果明显。
RAR文件下载

41、问:如何在本表操作其他表数据?
答:看这个:
RAR文件下载

42、问:如何做个一个按钮,将本目录下的易表文件和它下一级目录的若干个照片,输出到软盘?
答:先制作一个批处理文件,如:BF.bat,其内容设为:Xcopy d:\abc a: /s/q/y/e(假定你的易表文件及文件夹所在目录为D:\abc),保存并将BF.bat文件放在d:abc下;在按钮公式中设置公式为:Run(docdir + "BF.bat"),以后要想把当前目录中的所有文件(包括子目录)输出到软盘,只需点一次按钮就可实现。
(本办法在XP下调试通过,不足之处:会出现命令窗口,一闪而过。)


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:39:00 [只看该作者]

43、问:怎样让系统中的录入窗口,在不同分辩率下打开时始终居中?
答:可利用系统变量screenwidth、screenheight的返回值及窗口的大小值计算确定,具体可在表预处理公式中这样设置公式:OpenWindow(1,(screenwidth - 400) / 2,(screenheight - 300) / 2)(假设窗口大小为400*300)。

44、问:如果我的信息管理系统有多个文件组成,每次修改某个文件的菜单或工具栏,为了保持整个系统的一直,就得每个对每个文件的菜单方案进行修改,很麻烦,请问有没有办法让每个文件的自定义菜单、工具栏都统一?

答:有办法的,最新版本的易表增加了OpenMenufromFile函数。用户可以将菜单文件保存为菜单模板,然后为每个文件的第一个表设定预处理公式:OpenMenufromFile(docdir + "模板.mnu");需要注意的是,在这种情况下最好利用filename变量来判断文件名,如果不符合,结合OpenFile文件来定义菜单函数,如果符合,则可直接用OpenGrid函数!

(注意:最好将所有易表数据库文件放在一个目录下,使用Open系列函数的时候注意用docdir来定义路径)

45、[求助]网络环境中使用易表出现错误提示?
如果在宿主机上打开易表文件做过存盘操作,那么在其他电脑上肯定打不开宿主机上存过盘的文件,出现提示:"Invalid file format", 不知道同志们有没有遇到过这种情况?有没有解决方法?
找到办法了!
只要不要把文件放在c:盘(系统文件所在盘?)上就行。

46、问:在公式生成器中怎样快速找到要找的函数?
答:点击公式生成器函数列表框中的任一函数,用键盘连续不断地快速敲击要找的函数,直至该函数出现。或者敲击该函数的前两个字母,看看你要找的函数出现了吗?如果还没有出现,在滚动条下方单击鼠标一次或几次,你要找的函数便出来了。

47、快速输入日期:1949年10月28日,输入491028即可。
如果是1930年以前(不含)或2030年(含)以后,则必须输入完整数字,如1919年10月28日,要输入19191028;2030年10月28日,要输入20301028。

48、相邻的几个单元格要设置同一个公式,如果第一个单元格已设置好公式,其他的单元格不需再输入公式,将要设置公式的单元格全部选中,单击右键——设置单元格公式,确定,OK了!

49、默认的易表列类型是字符型,通常设计表的时候要先输入列名称,再调整列类型。经常遇到这样的情况,要设计的表格列数比较多,而类型大部分是数值型,输完列名称后再一个一个地将字符型改为数值型,感到很麻烦。解决的办法是:先将第二列以后的各列删掉,再将第一列改为数值型,然后按向下的方向键添加列,这样新增加的列便都是数值型,个别不是数值型的列调整起来就省力多了。

50、问:有时公式左看右看都是正确的,在公式生成器中“执行计算”也有结果,但实际却得不到想要的结果!是什么原因?
答:可能你在记事本编辑公式时无意中加入了一些特殊字符,如硬回车,如Split("1/2/3/4/5/6/7/8/9/10","/",row)中"1/2/3/4/5/6/7/8/9/10"有硬回车粘到公式生成器中和没硬回车没什么不同,但粘到WORD里就一清二楚了,因此,有时公式没结果可粘到WORD里看看有无问题。

[分享]提高覆盖数据的效率!
此法在blue_103 兄的提示下作成,在此多谢blue_103 兄!此法对数据量大时速度明显,但需牺牲两列为代价(小数据量建议用全删全复好些,不用多两列)。
RAR文件下载

51、[分享]克隆关联数据!
注:此法有一定的局限性,就是主表的列数一定要比关联表的列数多才可行。
RAR文件下载

52、[分享]由身份证号码取得发证省市的简洁公式!
公式根据Czy兄的身份证号码查询鉴别系统的数据库而来:
RAR文件下载


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:53:00 [只看该作者]

53、问:怎样让每两个字符之间只保留1个空格。
答:Substitute(Substitute(Substitute(Substitute(Substitute([某列],"13"," "),"7"," "),"3"," "),"2"," "),"2"," ")
可以将388个空格合并为一个空格
注:数字为空格的数量
RAR文件下载

54、问:如何打开某表时只显示本月数据?
答:表预处理 Do(112) And FilterFor("日期", ">" ,EOMonth(Today(),-1),"日期" ,"<=" ,EOMonth(Today(),0))
RAR文件下载

55、问:
按照帮助文件的提示:“在易表中使用中文的输入法,每次输完汉字,转到其它单元格时,会自动切换到英文输入状态。为解决这个问题,可以按下第一个工具栏中倒数第二个按钮,即可正常输入汉字。”
可我用了这个方法却还是无法正常使用中文输入法。转到其它单元格时,中文输入变成灰色,按五笔输入的方法输入,结果输入的是英文字母。请问如何解决?

解决方法:
如果在WindowsXP中遇到输入法兼容问题,如果在帮助文件的指导下无法解决的话,可以试试以下的办法:
在windowsXP的文字服务与和输入语言的兼容配置中,去掉“将高级文字服务支持应用于所有程序”前的复选框中的“√”,重启后,一般可解决这个问题。

56、问:如果每月20日结账,怎样筛选每月的数据?
答:设置表达式变量%开始日期%为If(Month(Today()) = 1,Text(Year(Today()) - 1),Text(Year(Today()))) + "-" + If(Month(Today()) = 1,"12",Text(Month(Today()) - 1)) + "-" + "21"
%结束日期%为Text(Year(Today())) + "-" + Text(Month(Today())) + "-" + "20"
然后在公式中调用这两个变量。例如:
RAR文件下载

57、通用数据恢复按钮的制作:

第一步:设置一个变量%HF%,数值型。
第二步:设置一个菜单方案"恢复"
恢复菜单方案你可以只设计一个工具栏,设为大图标,插入一个标签:"正在恢复数据,请稍候……"以作提示。
第三步:在恢复数据按钮中设置以下公式(根据你的情况更改相应部分):
SetVariable("%HF%",1) And Loop("[%HF%] <= Grids","Opengrid([%HF%]) And OpenMenu(""恢复"") And CloseWindow() And DelFor([%HF%]) And MergeGrid(Docdir+""你的文件名.egd.bak"",[%HF%],""123456"",1) And DelRow([%HF%],1) And SetVariable(""%HF%"",[%HF%]+1)") And OpenMenu("菜单方案") And OpenWindow(1) And DockWindow(3) And msgbox("数据恢复完毕!",1)

58、报表设计的一个小技巧:
在设计报表时,对象属性中的文字位置有九种:1、左上、中上、右上;2、左下、中下、右下;3、左中、中中、中下;当一个单元格中的文字数量较多时,选中第2组和第3组中的文字位置,可以使该单元格中的文字自动按插入对象的大小截掉多余的字符。请看下面的文件中的报表:
RAR文件下载

59、在工具栏中动态显示当前日期和时间
请查看文件中的文件预处理和验证公式。(本技巧只适用于1371以上版本)
RAR文件下载

60、不能重复选择的列表项(本技巧经点将版主修改)。
请看以下文件
RAR文件下载

61、使用HideMainWindow函数隐藏易表的系统界面后,如果将设置有显示系统界面按钮的录入窗口误操作,被关闭后,如何能够打开被隐藏易表的系统界面?
在1386以上版本中,按住ctrl键,打开此文件,直到文件被打开,再松开ctrl键。

62、在报表设计中,如何使打印时首行打印的字空两个字位?
Substitute(char(127)+char(127)+char(127)+char(127)+[某列],char(13)+char(10),char(13)+char(10)+char(127)+char(127)+char(127)+char(127))


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:57:00 [只看该作者]

[这个贴子最后由smileboy在 2007/08/30 09:50am 第 5 次编辑]

63、N次方根的函数易表未列明,但可以^表示。
问:数字A的n次方如何表示?
答:A^n 。例如,23的30次方,可表示为23^30;23的30次方根,可表示为23^(1/30)

64、问:如何“请出”被隐藏在录入窗口标题栏里的对象?
答:在窗口空白位置按住鼠标左键,然后拖动鼠标,会出现一个红色虚框,松开鼠标,把鼠标移到红色虚框中,按下鼠标左键,将红色虚框送入窗口标题栏下,松开鼠标左键一下,再按住鼠标左键,将红框拖出,这时隐藏在窗口标题栏里的对象就会被一起拖出来了。

65、问:易表中有判断某个文件是否存在的函数,但不知是否有判断某个文件夹是否存在的函数?
答:可利用操作系统的空设备NUL名来实现。例如:c:\111 存在,则 Exist("c:\111\nul")  返回True,c:\222 不存在,则 Exist("c:\222\nul") 返回False。

66、用setup2go打包你自己开发的系统时,如果是一起打包运行环境的话,你便可以在打包时将易表文件图标变成你自己的了
方法如下:
先在程序文件下增加一个文件夹命名为egdvmchs并将EGridXP.exe和你自己设计的图标复制到该文件下,再在文件类型选项卡中增加一个文件类型并相应设置就可以了。

67、reset函数解释
reset() 清除所有表的已修改标记。
reset("表1")清除表1的修改标记。
reset("表1",1)表示恢复表1的修改标记。

68、Number的特殊用法:
问:Number(Day([入库日期])>25)表示什么意思?
答:如果日期大于25的话,那么Number(Day([入库日期])>25)=1,否则就是0。
   相当于逻辑关系,只不过是当满足条件时为1,否则为0。

69、在打印报表中如何设计合并模式
   注意线条的属性,要在线条属性中设置打印条件。
   线条设置技巧:正常情况下报表头和细节区下面的线条都在各自所属的区域,而要想在报表中达到合并模式,就要违反这个常规,在设置需合并线条的打印条件后,还需要将报表头下面的线条移到细节区中(靠近细节区和报表头的结合部位),把细节区下面的线条移到页面尾(靠近页面尾和细节区的结合部位),掌握这个技巧后,在报表中设计合并模式就可以随心所欲了。

70、下面两个公式有什么不同?,好像改成第二个无效??难道有顺序?
CountFor("表1","姓名","=",[姓名],"日","=",[%A%],"考勤记录","=",ColName(2))
CountFor("表1","姓名","=",[姓名],"考勤记录","=",ColName(2),"日","=",[%A%])
答:如果把ColName当成比较值,只能放在最后一个,否则无效。

71、几例字符串应用公式
【1】一翻多的方法:

一翻二("A|B|C"→"A@A|B@B|C@C"):

 Eval("Substitute(""|@|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|"",""|"",""")+""")")

一翻三("A|B|C"→"A@A#A|B@B#B|C@C#C"):

 Eval("Substitute(""|@|#|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|#|"",""|"",""")+""")")

一翻四("A|B|C"→"A@A#A&A|B@B#B&B|C@C#C&C"):

 Eval("Substitute(""|@|#|&|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|#|&|"",""|"",""")+""")")
 
 【2】合并字符

 ⑴:("A|B"+"1|2"→"A#1@A#2|B#1@B#2")

Eval("mid(Substitute(""|1|2"",""|"",""@"+Substitute("A|B","|","#""),1)+""|""+mid(Substitute(""|1|2"",""|"",""@")+"#""),1)")

 ⑵: ("A|B|C"+"1|2|3"→"A@1|B@2|C@3")

Eval("SPLIT(""A|B|C"",""|"","+Substitute(Substitute(Left("01@01|02@02|03@03|04@04|05@05|06@06|07@07|08@08|09@09",6*(len("A|B|C")-len(Substitute("A|B|C","|","")))+5),"|",")+""|""+SPLIT(""A|B|C"",""|"","),"@",")+""@""+SPLIT(""1|2|3"",""|"",")+")")

如"A|B|C"中的"|"多于9,则要加长预设数列:"01@01|02@02|03@03|04@04|05@05|06@06|07@07|08@08|09@09"

注:俺原先进行一翻多是在eval("Mid(Rept(""@"+Substitute("A|B|C","|",""",2),1)+""


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/8/13 14:59:00 [只看该作者]

[这个贴子最后由smileboy在 2007/10/23 03:37pm 第 1 次编辑]

72、如何利用SendKeys()最小化录入窗口?
实现方法:在窗口增加一个自定义按钮,在该按钮里设置好筛选公式,并在该公式最后加上 SendKeys("% ") and SendKeys("n") ,这个公式的含义就是:“ALT+空格+n键”,这样的组合按键作用就是最小化录入窗口。
也可以直接写成:sendkeys("% n"),注意%与n之间有一个空格。

 回到顶部
总数 53 1 2 3 4 5 6 下一页