VB数据库 如何修改几条相同数据中的一条

sql = "select * from 货物信息 where 物品型号 like '" & Text1.Text & "'" Rs.Open sql, Conn, 1, 3 If Not Rs.BOF Or Not Rs.EOF Then Rs("物品型号") = Text1 Rs("体积") = Text2 Rs("重量") = Text5 Rs("数量") = Text4 Rs.Update End If Rs.Close
在不改变表结构的情况下,如何修改上面代码就能实现修改数据库中相同数据中的一条,,,因为("物品型号") 里相同的数据修改不了,怎样实现修改呢?

第1个回答  2014-01-08
sql = "select * from 货物信息 where 物品型号 like '" & Text1.Text & "'"
Rs.Open sql, Conn, 1, 3
If Not Rs.BOF Or Not Rs.EOF Then
Rs("物品型号") = Text1
Rs("体积") = Text2
Rs("重量") = Text5
Rs("数量") = Text4
Rs.Update
End If
Rs.Close
没弄明白你的意思,但原则上,数据库中不应包含所有字段都完全相同的多条记录,否则就应视为数据库本身设计不合理,从而给软件的设计带来很大麻烦。
如果你举例来说明你的问题,可能有办法帮助你。
另外,
If Not Rs.BOF Or Not Rs.EOF Then
应为
If Not Rs.BOF And Not Rs.EOF Then追问

就是跳出来的相同的物品型号,就修改不了。

本回答被网友采纳
第2个回答  2014-01-08
首先,确定需要修改的是什么内容。根据问题中的代码,不明白要修改的是什么。
其次,确定要修改的数据是哪一条记录,根据问题内容,不能确定需要修改哪条。一般在数据库中是不会存储完全相同的两条记录的。
如果是修改符合sql语句中的任意一条记录,那么, 可以试一下这个方法,不过,这样的修改可能会带来不确定的结果,因为根本不知道究竟修改了哪条数据记录。


if rs.recordcount>1 then'在这里用记录集数据条数作为判断依据 
    rs.movefirst
    '问题中的那些赋值语句
    rs.update
else
    msgbox "没有符合条件的记录!"
endif
rs.close

本回答被提问者采纳
第3个回答  2014-01-08
你的数据库设计的有问题,一个物品型号对应多个数据了,你用文本框修改数据,这样当你输入一个物品型号时,显示的是符合这个物品型号的所有数据中的一个,
给你的货物信息表设个主键吧
如果你不想改变表结构的话,你可以用datagrid控件显示所有的数据,然后编程修改选中的的一个
第4个回答  2014-01-08
你需要修改数据表记录时:
Rs.Open sql, Conn, 1, 3 不能是这样的,应该是
Rs.Open sql, Conn, 2, 3追问

可以修改,但是查询出来的记录总是显示最后一条,而不是要修改的这一条。如何让它显示修改后的这一条?

追答

你不是已经解决了吗?

第5个回答  2014-01-08
adai_008 | 五级
sql = "select * from 货物信息 where 物品型号 like '" & Text1.Text & "'"
Rs.Open sql, Conn, 1, 3
If Not Rs.BOF Or Not Rs.EOF Then

VB数据库 如何修改几条相同数据中的一条
Rs.Open sql, Conn, 1, 3 If Not Rs.BOF Or Not Rs.EOF Then Rs("物品型号") = Text1 Rs("体积") = Text2 Rs("重量") = Text5 Rs("数量") = Text4 Rs.Update End If Rs.Close 没弄明白你的意思,但原则上,数据库中不应包含所有字段都完全相同的多条记录,否则就应视为数据...

access中用自带的vb怎样对一个数据库中多个相同结构的表进行操作,比如...
如果有必要,表结构又相同,那就加个循环语句就行了呀。具体来说,比如:for I = 1 to 3 docmd.runsql "select ... into 表" & I ...next I

vb添加重复数据问题
貌似不能添加主码相同的记录。但是可以在一条记录中添加多个项目,比如你的情况可以再添加一个字段存储申请的第二个项目;如果是文本存的可以直接写“申请了xxx和yyy”;也可以将所有的项目都列出来作为字段,字段类型用“是\/否”来表示这个项目申请过没有。另外,也可以修改主码,用申请时间作主码也是...

vb数据库编程,数据库某些字段不能重复,如果录入数据有重复,保存时,程 ...
1:检查一行,保存一行。凡是没有重复的都保存,有重复的不保存。2:先一一检查,检查到有重复就提示,并结束。不知道你用的是控件还是对象连接的数据库?假设你用Adodc控件,且已经连接。下面:假设字段a,b为字符类型,以一行数据为例,a字段值为“AA”,b字段值为“BB”,Adodc1.RecordSource ="Se...

VB+SQL数据库 进行修改处理时,“出现多步操作产生错误。请检查每一...
alter table bookInfo add iID int IDENTITY (1, 1)你执行完这条语句后,肯定不会再出这样的错,你出错的原因是你的表中存在两条或多条一模一样的记录了。这条语句是给这个表增加一个自增字段,这样任何一条记录都不会相同,也就是修改时不会报错!

用VB统计sql数据库中两列数据中相同数据的数目
用vb我一般偷懒用data控件。不过你这个明显有问题 看这句:rs.Fields("题目答案").Value = rs.Fields("学生答案").Value 你的fs哪里去了?没有fs怎么判定是哪一行数据比较?还有这句 Else: fenshu = fenshu 这句没必要,完全可以删掉。因为不执行本身就是fenshu=fenshu 啊 ...

VB中进行多个相同结果的查找
用datagrid绑定每个字段。这样就显示出来了!编写双击事件,双击的时候调用数据库查询就可以了!做的完整点,要想到重名的问题!

vb 一个字符串多个相同的词组,如何确定最后一个词组的位置
vbTextCompare 1 执行文本比较。vbDatabaseCompare 2 执行基于包含在数据库(在此数据库中执行比较)中的信息的比较。返回值 InStrRev 返回以下值:如果 InStrRev 返回 string1 为零长度 0 string1 为 Null Null string2 为零长度 start string2 为 Null Null string2 没有找到 0 在 string1 中找到...

怎么能让VB数据库中名称相同的数量相加减
vb就是vb ,数据库就是数据库 ,两者不是一个东西啊。能表述的更详细些吗?谢谢

vb+access 怎么查询数据库里多条相同记录
SELECT 表名.字段名 FROM 表名 WHERE (((表名.字段名)="矿泉水"));这样就可以把你数据库里所有的字段内容里带“矿泉水”都查询出来了。数量就用 rs=SELECT count * 表名.字段名 FROM 表名 WHERE (((表名.字段名)="矿泉水"));

相似回答
大家正在搜