如何分部分对同一条记录进行修改?急需.

jinke 2000-05-31 07:44:00
1.先用ADDNEW 的方法在REPORTINFO 的数据库报表中增加一条记录,
(FIELDS: CUSTNO,REPORTNO,REPORTNAME,REPORTKIND,WRITER),
数据库中已经有一条记录:
custno = 1
reportno 空
REPORTNAME 空
REPORTKIND 空
WRITER 空

然后按“增加”按钮
代码如下:
Data1.Recordset.Sort = "custno"
Data1.Recordset.MoveLast
newid = Data1.Recordset.Fields("custno") + 1
Data1.Recordset.AddNew
Data1.Recordset.Fields("custno") = newid
Data1.Recordset.Fields("reportname") = str03
Data1.Recordset.Fields("writer") = Text4.Text
Data1.Recordset.Update
Data1.Recordset.MoveLast '记录需要重新定位
Unload Me

2.然后按“保存”按钮,执行如下代码

Data1.Recordset.Sort = "custno"
Data1.Recordset.MoveLast
Data1.Recordset.Edit
Data1.Recordset.Fields("reportno") = str04
Data1.Recordset.Fields("reportkind") = str04 & str07
Data1.Recordset.Update

结果:
第一次记录可以按正常结果被记录数据库,(对应各字段),
但重新按“增加”按钮,先增加一条记录,在custno,reportname,writer中
输入数据,再按“保存”按钮,此时数据却没有写进第三条记录的对应字段中
。急需。

分析:
第二次保存,数据却写到第一次增加的记录中,记录定位不正确,请教
如何解决,上面代码哪儿有问题。
另CUSTNO 是唯一的,用整数,是否可以求的CUSTNO的MAX来定位记录。
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxp 2000-06-01
  • 打赏
  • 举报
回复
Data1没能刷新,定位在前一条了,新加的没得到,保存前加一句:
Data1.Recordset.Sort = "custno"
Data1.Recordset.Requery '添加纪录刷新,或采用Data1.Refresh
Data1.Recordset.MoveLast
Data1.Recordset.Edit
Data1.Recordset.Fields("reportno") = str04
Data1.Recordset.Fields("reportkind") = str04 & str07
Data1.Recordset.Update
Asima 2000-06-01
  • 打赏
  • 举报
回复
第一段代码中去掉
Data1.Recordset.Fields("writer") = Text4.Text
试试看
Asima 2000-06-01
  • 打赏
  • 举报
回复
你一定是将Text4和数据库建立了关联
问题就在这里
Data1.Recordset.MoveLast
Data1.Recordset.AddNew
Data1.Recordset.Update
都会将数据库更新,
也就是说text4中的内容将替代数据库当前纪录的与之关联的字段的值

7,759

社区成员

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

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