易表在线答疑技术与交流用户社区 → 请教:一个表自动删除多余的列,仅留前4列,如何写公式 (无内容)


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

主题:请教:一个表自动删除多余的列,仅留前4列,如何写公式 (无内容)

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


加好友 发短信
等级:论坛游侠 帖子:238 积分:-30 威望:0 精华:0 注册:2006/12/31 11:05:00
请教:一个表自动删除多余的列,仅留前4列,如何写公式 (无内容)  发帖心情 Post By:2007/1/16 11:39:00 [只看该作者]

正文为空!

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


加好友 发短信
等级:超级版主 帖子:2062 积分:20 威望:0 精华:0 注册:2006/8/11 10:51:00
  发帖心情 Post By:2007/1/16 12:17:00 [只看该作者]

参看下面的函数


Delfor
删除指定表中符合条件的行。

语法:
DelFor(Grid,CompareCol,CompareMode,CompareValue,......)

Grid         指定表,可以用表名表示,也可以用位置表示。
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值

可以设置多个比较条件,从第二个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。

例如:
DelFor("订单表","结账","=",-1)
删除订单表中已经结帐的记录。


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


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

Eval(Mid(Rept(" And DeleteCol(Grid,4)",cols-4),4))

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


加好友 发短信
等级:论坛游侠 帖子:238 积分:-30 威望:0 精华:0 注册:2006/12/31 11:05:00
  发帖心情 Post By:2007/1/16 14:25:00 [只看该作者]

" And DeleteCol(Grid,4)"为什么要用and,最后一个4什么意思,麻烦讲解一下,谢谢

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


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

看公式不能这样看的,要看整体才行,把下面的公式放到公式生成器中执行一下,或许比我解释更易理解。


Mid(Rept(" And DeleteCol(Grid,4)",cols-4),4)


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


加好友 发短信
等级:论坛游侠 帖子:238 积分:-30 威望:0 精华:0 注册:2006/12/31 11:05:00
  发帖心情 Post By:2007/1/16 15:50:00 [只看该作者]

eval(Mid(Rept(" And AddCol(Grid,[%月份%],2,True)",Number([%月份%])),Number([%月份%])))请问这样增加列,不执行,请赐教

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


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

呵呵,你这样的公式能起什么作用,即使能增加列也只能增加一列,因为AddCol是不能生成同标题的列名称的。

如果想让楼上的公式有效可以这样:(当然这个公式也只能生成一列)
Eval(Mid(Rept(" And AddCol(Grid,[%月份%],2,True)",Number([%月份%])),5))


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


加好友 发短信
等级:论坛游侠 帖子:238 积分:-30 威望:0 精华:0 注册:2006/12/31 11:05:00
  发帖心情 Post By:2007/1/16 16:40:00 [只看该作者]

见笑了。想从1到[%月份%]生成月份个列,每列名分别为1月...2月,给写个公式吧

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


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

可以不用变量的。

Eval("AddCol(Grid,"""+Substitute("1月|2月|3月|4月|5月|6月|7月|8月|9月|10月|11月|12月","|",""",0,True) And AddCol(Grid,""")+""",0,True)")


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


加好友 发短信
等级:论坛游侠 帖子:238 积分:-30 威望:0 精华:0 注册:2006/12/31 11:05:00
  发帖心情 Post By:2007/1/16 18:56:00 [只看该作者]

请费心,编个变量的,因为,主要想实现,当选择月份变量后,只增加月份变量个列,如选6月,只生成6列,分别为1月.2月....6月。 拜托了

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