vb 如何删除access数据库指定记录

mshflexgrid的选中第三行。然后,想删除数据库里面的这个记录cnn.Execute"deleteform表名whereid=3"问题是,access表里面没这个i... mshflexgrid的选中第三行。
然后,想删除数据库里面的这个记录
cnn.Execute "delete form 表名 where id=3"
问题是,access表里面没这个 id 字段 怎么办?
意思就是我要删除mshflexgrid里面第三个记录
同时也删除access表第三个记录
展开
 我来答
veimi
2012-05-20 · TA获得超过2350个赞
知道大有可为答主
回答量:5720
采纳率:28%
帮助的人:3083万
展开全部
mshflexgrid里的记录是哪来的?哪个字段是维一的。有些什么字段的?
id,只是给你个建议,比如mshflexgrid表格第三个字段是身份证,用如下代码

cnn.Execute "delete form 表名 where sfz='" & MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) &'""
追问
日期	时间	标题	            内容
Text1 RichTextBox1
Text1 RichTextBox1
Text1 RichTextBox1 -第三个记录,对应mshflexgrid第三行,我是根据这来删的
Text1 RichTextBox1
Text1 RichTextBox1
有重复的, 没有唯一字段,所以要根据行号来删除记录
庆有
推荐于2016-03-27 · 知道合伙人软件行家
庆有
知道合伙人软件行家
采纳数:1215 获赞数:3464
哈尔滨工业大学电气工程及其自动化专业,从事建筑工程管理。

向TA提问 私信TA
展开全部
有两种办法:

1、通过SQL语句删除:
SQL 有专门的删除查询,格式为:
Delete from [表名称] where [条件]
例如删除女同学的成绩:Delete from 成绩单 where [性别]= "女"
以上是SQL的用法,如果在vb中使用,就在前面加上“DoCmd.RunSQL”就可以了。
DoCmd.RunSQL "Delete from 成绩单 where [性别]= '女' "

2、通过ADO实现
首先用ADO建立与数据库的链接:

Dim rs As New ADODB.Recordset
rs.open " 数据表名称", CurrentProject.Connection, , adLockOptimistic
然后遍历所有数据,删除符合条件的项目:
rs.movefirst ---------跳到第一个数据
While rs.EOF = False -------设定循环条件
if rs![条件字段] = **** then rs.Delete ---------删除符合条件的记录
rs.movenext ----------跳跃到下一条记录
wend ---------结束循环
两种方法相比,第一种方法速度更快,效率更高。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
范永熙喆
2012-05-20 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:141万
展开全部
id是主键,插入这个字段就行
更多追问追答
追问
问题是我表里面没这个字段
日期 时间 标题 内容
Text1 RichTextBox1
Text1 RichTextBox1
Text1 RichTextBox1 -第三个记录,对应mshflexgrid第三行,我是根据这来删的
Text1 RichTextBox1
Text1 RichTextBox1
追答
既然你是根据行号来删除,那就插入行号一列,使其成为唯一的,也就是id,要不然,很容易删除你不想删除的行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式