VBA 删除access数据库记录

Sub adoTest()
Dim adoRt As Object
Dim strSQL As String

'// 创建ADO记录集对象
Set adoRt = CreateObject("ADODB.RecordSet")

'// 设置SQL 语句

strSQL = "SELECT * FROM TMB WHERE False"

With adoRt
'// 设置需要连接数据库
.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\TM.mdb"
.CursorLocation = 3
.CursorType = 1
.LockType = 3

'// 设置SQL语句
.Source = strSQL
'// 准备打开记录集
.Open

'// 新增记录
.AddNew
'// 赋值
.Fields("TMZF").Value = Range("识别号")
'// 更新
.Update

'// 判断并关闭记录
If .State = 1 Then
.Close
End If
End With

'// 从内存中释放
Set adoRt = Nothing
End Sub

我想在向数据库TM之表TMB添加条码记录之前,删除掉该数据库中的所有记录,要插入怎样一条语句。

删除/插入 (delete/insert) 利用的是CurrentDb.Execute(stSql)。
代码如下:
[plain] view plaincopy
'拼写删除指定PR Number的SQL文
stSql = "DELETE FROM [000_BASTS] WHERE [PR NR] = '" & pr_nr & "'"
'执行SQL文
CurrentDb.Execute (stSql)
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-16
'// 创建ADO记录集对象
Set adoRt = CreateObject("ADODB.RecordSet")

'// 设置SQL 语句

strSQL = "SELECT * FROM TMB WHERE False"

With adoRt
'// 设置需要连接数据库
.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\TM.mdb"
.CursorLocation = 3
.CursorType = 1
.LockType = 3

'// 设置SQL语句
.Source = strSQL
'// 准备打开记录集
.Open

'删除TMB表中的所有记录
if adort.recordcount<>0 then
adort.movefirst
do while not adort.eof
adort.delete
adort.movenext
loop
endif

'// 新增记录
.AddNew
'// 赋值
.Fields("TMZF").Value = Range("识别号")
'// 更新
.Update

'// 判断并关闭记录
If .State = 1 Then
.Close
End If
End With

'// 从内存中释放
Set adoRt = Nothing
End Sub本回答被提问者和网友采纳
第2个回答  2013-08-14
adoRt.execute("delete from tmb")

VBA 删除access数据库记录
删除\/插入 (delete\/insert) 利用的是CurrentDb.Execute(stSql)。代码如下:[plain] view plaincopy '拼写删除指定PR Number的SQL文 stSql = "DELETE FROM [000_BASTS] WHERE [PR NR] = '" & pr_nr & "'"'执行SQL文 CurrentDb.Execute (stSql)...

怎么用vba删除ACCESS表中数据
rs.Delete '删除当前记录 rs.Updata '把删除动作反映到数据库中 end sub 如果是删除整个字段用:rs. Fields.Delete("字段名")替换掉"rs.Delete"如果是只删除该纪录的某一字段的内容用: rs. Fields(n).value=""替换掉"rs.Delete"如果是删除整个表用:DoCmd.DeleteObject acTable, "表名"...

access 删除记录vba代码
删除\/插入 (delete\/insert) 利用的是CurrentDb.Execute(stSql)。代码如下:[plain] view plaincopy '拼写删除指定PR Number的SQL文 stSql = "DELETE FROM [000_BASTS] WHERE [PR NR] = '" & pr_nr & "'"'执行SQL文 CurrentDb.Execute (stSql)...

Execl_VBA操作Access数据库。查询,更新,删除
'\/\/ 创建ADO记录集对象 Set adoRt = CreateObject("ADODB.RecordSet") '\/\/ 设置SQL 语句 strSQL = "SELECT * FROM TMB WHERE False" With adoRt '\/\/ 设置需要连接数据库 .ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\TM.mdb" .CursorLocation ...

如何在ACCESS的模块(vba)中删除另外一个MDB文件中的数据表?
wrkDefault.OpenDataBase(Paths, False) '打开目标数据库 Set rst = dbs.OpenRecordset(TableName) '打开目标数据表 Do Until rst.EOF '逐条删除记录 至结尾 rst.Delete Loop '释放对象 rst.Close dbs.Close wrkDefault.Close End Function 前提,在VBA的“引用”中,要对DAO3.6库进行引用。

vba 删除数据库
'删除sql对应的行 'conn.Execute "delete from grjbxx00 where 订单编号=" & Cells(1, 1) & "and 产品编号=" & Cells(2, 1)'sql2000,你需要修改 数据库名,用户名,密码,数据表名 ConnectionString = "Driver={SQL Server};Server=(local);Datebase=dbefan;Uid=efan;Pwd=123456;"Set ...

EXCEL vba如何批量修改 access 数据
你的这些记录是在ACCESS中已经存在的,那么就需要一个字段来唯一区分每个记录,但从你的数据中没有看到。那么向ACCESS中更新某一行时就难以确定目标行。那么处理时就只有一个办法,删除ACCESS中所有数据,然后重新全部添加 不知道这样能接受……至于如何添加 就是使用ADO对象来操作ACCESS表,代码不复杂 ...

如何ACCESS窗体VBA修改记录
在access中,修改记录有很种方法, 比较常用的有ADO、DAO 和 Docmd。即便使用docmd,也有3种方法来删除,下面看看docmd修改记录的几种写法 1.Docmd修改记录 DoMenuItem 方法:Me.子窗体.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEdit...

Access数据库或项目包含一个对文件"ActvDlgs.ocs"版本1.0.的丢失的...
进入VBA的设计界面,在 工具--》引用 中去除这个丢失的引用,即将前面的勾 去掉。

在access数据库的表设计图中,不能进行的操作是?
选择D,不能删除记录,记录删除要在数据表视图中。在Access表的设计视图中,不能对数据表视图中的字体进行修改。在表的设计视图中可以对表进行各种设计,包括增加和删除字段、修改字段的名称和类型、设置索引等,但是不能进行对数据记录的增加、删除和修改工作。

相似回答