select语句和recordset问题

cdjl 2008-03-06 11:40:23
用一个select 语句中返回查询结果到一个recordset
只能显示前三个字段的值,显示到第四个字段就会出错
"在对应所需名称或序数的集合中,未找到项目"
而用循环显示字段值就没有问题。
...全文
70 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cdjl 2008-03-10
没用,在excel中的vba
回复
kelph 2008-03-06
同意2楼
回复
dawugui 2008-03-06
用一个select 语句中返回查询结果到一个recordset
只能显示前三个字段的值,显示到第四个字段就会出错
"在对应所需名称或序数的集合中,未找到项目"
而用循环显示字段值就没有问题。

--

这肯定不是sql server的问题.是你前端软件的问题.
回复
chuifengde 2008-03-06
怎么显示的
回复
chuifengde 2008-03-06
每一个rst("日期")后面加上 &""试试
回复
cdjl 2008-03-06
这是什么原因呢
回复
YanpingLuck 2008-03-06
我也遇到过类似的情况,不过我那个是第一列显示不出来,不知道为什么
回复
cdjl 2008-03-06
显示记录
strsql = "select * from jzjyb where 序号=" & CboAll.Value
除了序号(系统自增字段主键)外还有以下字段:日期,凭证,操作,收日,收据,编号,姓名,金额
我用的是字段名而不是序号,如rst("日期"),rst("凭证")等,而不是rst(0),rst(1)
Set Rst = Con.Execute(strsql)
然后我把这些字段值赋给窗体中的控件,用debug.print或msgbox也一样
只能用到三个字段,取决于赋值的顺序,所以不是字段名错误的原因。
而且上面所说的三个字段,如果同时再把它赋值给其他控件,会出现找不到记录的错误。
但是修改记录可以这样使用
strsql = "update jzjyb set 日期='" & TxtDate.Value & "',凭证=" & CboPz.Value
strsql = strsql & ",操作='" & CboOP.Value & "',收日='" & DTPdate.Value
strsql = strsql & "',收据='" & TxtSJ.Value & "',编号='" & CboNo.Value
strsql = strsql & "',姓名='" & CboName.Value & "',金额=" & TxtNum.Value
strsql = strsql & " where 序号=" & CboAll.Value
Con.Execute strsql
我现在只有先把字段值赋给一个数组,然后再把这个数组的值在窗体中显示出来
回复
fcuandy 2008-03-06
贴你的sql语句上来看看.
回复
cdjl 2008-03-06
上面说错了,不是前三个字段,而是只能显示任意三个字段
取决于这几个字段使用的次序。
回复
fcuandy 2008-03-06
估计是类似这种写法

sql="SELECT x,y,z,b.dd FROM a ,b" (其中x,y,z列名唯一,dd在a,b表中有重名)
然后用
rs("x")...前三个能取到
后面用 rs("dd")或 rs("b.dd")都报错.

用列序号就可以了.
rs(0),...,rs(3)
或者在查询语句中给列加别名 比如 select x,y,z,b.dd as dd from a,b
然后 rs("dd")就可以了.
回复
v888 2008-03-06
没明白
回复
清海扬波 2008-03-06
1.看你数据库里面是否有这个字段
2.如果确定有那么再看你的Select语句里面有没有包含这个字段
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-06 11:40
社区公告
暂无公告