Rss & SiteMap

易表在线答疑 http://www.egrid2000.com/dvbbs/

电子表格|Exel|Foxpro|Access|数据管理软件|数据统计软件|数据分析软件
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:鱼与熊掌和SetCellText函数(ylm原创)

1楼
喜爱易表 发表于:2006/8/16 19:07:00
[操作技巧]鱼与熊掌和SetCellText函数
   
   很多时候,贪心的我们,常常鱼与熊掌想统统吃下,我们用易表也不例外, 既想手工改动,同时又想随着另一列的变化而变化,其实全盘统吃还是有可能的,大家不妨看看:

egd文件下载
在这个附件中, 就在第二列实现了:既可以手工改动,同时又可以随着第一列的变化而变化。
呵呵,如果你有点心动的话,打开易表文件,马上与我一起行动吧!

一,常规想法
      平常,要想数据来源于某列,同时有要可以手工修改,我们常常会在刷新公式中设置如下公式:If([第二列] > "",[第二列],[第一列]),这个公式意思是当第二列有数据时,按第二列数据不变(也就是你修改什么是什么),反之,则刷新为第一列数据。这样设置,带来一个问题是,当第一列数据修改后,第二列因为已有数据而无法刷新。这就是,鱼与熊掌不可兼得也

二,换一个想路
    我们知道,要想让系统知道,第一列是否已修改,必须有个参照数据进行比较才行,也就是得增加一列辅助列,(也许你一听要加一列就觉得烦,其实比起能吃到熊掌来说,这可是小儿科毛毛雨啦)通过表设计,加一列,取名为:A 吧。在A列操作公式中写入:

SetCellText(GridName,Row,"A",[第一列])
     意思是在当前表,当前行,A列中写入第一列数据。
     这样一来,当我们一旦修改了第一列数据,A列就会记录一下第一列数据。

三,一起来吃鱼与熊掌
     现在,只要我们在第一列的操作公式中写入:

IF([第一列] <> [A],SetCellText(GridName,Row,"第二列",[第一列]), True )
    公式意思我想你也已明白了吧。(什么,不明白?!好吧,这个公式就是说,当第一列数据不等于A列时,写入当前表当前行第二列为第一列数据。否则就是按兵不动。)
    好了,为了好看些,选中A列,隐藏它吧,现在,你可以坐下来(噢,你一直是坐着的,很少有人站着用易表吧,呵呵!),慢慢品尝鲜美鱼与熊掌了。

共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2005 egrid2000.com
Powered By Dvbbs Version 8.3.0
Processed in .01172 s, 2 queries.