打开的记录集recordset,过滤其中的字段

如果将已经打开的记录集,过滤其中的字段
例如 select a,b,c,d from table 我只需要中的a,c字段
在网上搜索了一个,有一个函数rs.fields.delete index 好像可以
不过如何使用
  Rs.Open StrSql, Consb, 3, 3
Rs.Fields.Delete ("F_task")


如果放在open前面会提示"找不到项目",如果在后面会提示"在此环境下不允许操作"





PS:如果回复直接修改mssql语句的,就不用回复了

作者: hq0927   发布时间: 2011-06-15

路过帮顶,很费解需求的场景。

作者: shendun2007   发布时间: 2011-06-15

不如再说清楚一点你想做什么?比如说是想把记录集在一个表单中显示,但不显示指定的字段?或者是想把记录集放到一个数组中去,但不放指定的字段?或是其他?

作者: xxyj6450   发布时间: 2011-06-15

你可以用
tmpstr='a,c'
strsql='select ' & tmpstr & ' from tbl'
这种方法在程序中判断如果你需要的是a,c字段时,
直接给tmpstr变量进行赋值,然后再给strsql变量赋值,
确实不知道你要干么。
如果说明一下,可能会有更好的解决办法
比如说rs.field("a"),rs.field("c")
这就可以直接访问查询出的表中的这两个字段了,
何必再删除其它字段呢?

作者: q260401998   发布时间: 2011-06-15

是把读取数据的显示在表格控件中
但有时需要过滤字段,由于权限关系,过滤的字段不指定哪一列。
如果是在显示是过滤。逐行读取再显示在控件里的话。速度会比较慢。所以最好就记录集里面过滤掉。

作者: hq0927   发布时间: 2011-06-15