无法修改记录集字段的值

woolnil 2006-07-29 03:15:54
在修改一个记录集货币型字段的值时出错,系统提示:多步操作出现错误,请检查每一步的状态值。
但是我可以正常修改字符型字段的值。也不存在数据类型出错的问题。
实在是搞不懂怎么回事啊。请各位帮帮忙~
...全文
300 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2006-08-01
  • 打赏
  • 举报
回复
试了一下的确不可以,呵呵,没遇到过
这样:

rs.open "select ......."

Dim rst As New Recordset
With rst
.Fields.Append "类型编号", adBSTR, 10
.Fields.Append "材料类型", adBSTR, 10
.Fields.Append "上期余额", adCurrency, 8
......
.Open
.AddNew
!类型编号=rs!类型编号
!材料类型=rs!材料类型
!上期余额=23.50
......
.Update
End With
set rs=nothing
set dg.DataSource = rst


yuvotesyg518 2006-08-01
  • 打赏
  • 举报
回复
常量字段不允许修改
vbman2003 2006-08-01
  • 打赏
  • 举报
回复
我不是想更新表中的数据,只是想改变记录集的数据,使显示在DataGrid表格的数据也改变
=====================
那么这样试试:
rs.open ......
rs.fields(2).value=23.50
set dg.datasource = rs 'dg是表格控件名称
不要rs.update
woolnil 2006-08-01
  • 打赏
  • 举报
回复
我有用0.00替换过NULL,还是错地。
yuvotesyg518 2006-08-01
  • 打赏
  • 举报
回复
刚看了一下,常量字段不允许修改?
yuvotesyg518 2006-08-01
  • 打赏
  • 举报
回复
把NULL改成0也许可以!!
woolnil 2006-08-01
  • 打赏
  • 举报
回复
还是没搞定,顶起来。
yuvotesyg518 2006-08-01
  • 打赏
  • 举报
回复
vbman2003(家人) 的方法不错,学习了!
lpb830820 2006-08-01
  • 打赏
  • 举报
回复
更新完之后就记得把类型改回客户端型 adocon.CursorLocation = adUseClient
lpb830820 2006-08-01
  • 打赏
  • 举报
回复
你在更新数据或插入数据之前把连接的 CursorLocation 属性改为服务类型的,假设连接变量为
adocon ,那么语句就应该是 adocon.CursorLocation = adUseServer 。更新
of123 2006-07-31
  • 打赏
  • 举报
回复
把你的数据库结构和代码贴出来。难怪没有人答复你?
vbman2003 2006-07-31
  • 打赏
  • 举报
回复
用Update语句更新可以吗?
woolnil 2006-07-31
  • 打赏
  • 举报
回复
顶上去
woolnil 2006-07-31
  • 打赏
  • 举报
回复
我不是想更新表中的数据,只是想改变记录集的数据,使显示在DataGrid表格的数据也改变
woolnil 2006-07-31
  • 打赏
  • 举报
回复
有用Group by。

这种类型的记录集不能更新除Group by字段以外的数据吗?

如果不能我这个问题该用什么方法解决哦?
vbman2003 2006-07-31
  • 打赏
  • 举报
回复
不对不对,你这个语句打开的是一个汇总记录集,没用group by ? 没报错?
汇总记录集不能更新表中数据
vbman2003 2006-07-31
  • 打赏
  • 举报
回复
Select KindNum as 类型编号,KindName as 材料类型 ,NULL as 上期余额,Sum(入库金额) as 本期入库,Sum(出库金额) as 本期出库,NULL as 本期余额 From 表A

用了二个NULL,应该不是表中的字段。那么rs.fields(2).value=23.50 当然不能更新

这样试试:
rs.fields('字段名称').value=23.50




woolnil 2006-07-31
  • 打赏
  • 举报
回复
原句是这样的:
Select KindNum as 类型编号,KindName as 材料类型 ,NULL as 上期余额,Sum(入库金额) as 本期入库,Sum(出库金额) as 本期出库,NULL as 本期余额 From 表A
vbman2003 2006-07-31
  • 打赏
  • 举报
回复
Select 类型编号,材料类型,NULL,Sum(入库金额),Sum(出库金额),NULL From 表A

我认为问题出在SQL语句的null上。是表中字段名称,还是别名?是字段名称加上[],是别名,就改了
woolnil 2006-07-31
  • 打赏
  • 举报
回复
因为我没法子用一条SQL语句生成那个表格的数据,所以用了这种方法。
运行第二条语句的时候错误,测试时用第一条语句却是正常的。
加载更多回复(6)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧