设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3628|回复: 11
打印 上一主题 下一主题

[表] 求救:无法锁定表

[复制链接]
跳转到指定楼层
1#
发表于 2008-4-14 12:53:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
运行时发生运行时错误“3211”
由于表"345"正被别的用户或进程使用数据库引引擎无法锁定它。
我先前运行过以下代码,其中 456和789为查询,会调用表345,请教如何删除此进程锁定表345
Private Sub Command54_Click()
Dim a As Variant
Dim b As Variant
Dim c As Variant
Dim d As Variant
Dim e As Variant
Dim f As Variant
Dim g As Variant
Dim rst1 As Recordset
Dim rst3 As Recordset
If Me.Combo48 = "" Then
MsgBox "请输入型号"
Else
DoCmd.DeleteObject acTable, 456
DoCmd.OpenQuery "Tact查询", acNormal, acEdit
DoCmd.DeleteObject acTable, 789
DoCmd.OpenQuery "总数查询", acNormal, acEdit


Set rst1 = CurrentDb().OpenRecordset("789")
rst1.MoveFirst
If rst1.EOF = False Then
a = rst1![zs]
Else
a = 0
End If
rst1.Close
a = Int(a * 0.75)

If a <> 0 Then
Set rst3 = CurrentDb().OpenRecordset("456")
rst3.MoveFirst
rst3.MoveNext
b = rst3![Tact]
c = 0
Do
rst3.MoveNext
c = c + 1
If c <= a Then
d = rst3![Tact]
b = b + d
Else
e = b / a
rst3.Close
Exit Do
End If
Loop
Else
e = 0
End If
Me.Text52 = e
End If
DoCmd.Close acQuery, 789
End Sub

[ 本帖最后由 xwwei 于 2008-4-16 10:26 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2008-4-14 13:16:12 | 只看该作者
可能执行操作还未执行完,就要删除对象
最好上传你的数据库上来才能看到问题
3#
 楼主| 发表于 2008-4-14 13:41:43 | 只看该作者

已上传文件

楼上,我已上传,请先选择右边combo数据后点击“运算”,再在左边选择好相应combo内容点运行,就会出错,不能删除表345
我的数据库是使用链接表进行数据库更新
4#
 楼主| 发表于 2008-4-14 20:49:10 | 只看该作者

tmtony请教

看一下吧

点击这里给我发消息

5#
发表于 2008-4-15 10:18:56 | 只看该作者
OCBC链接失败啊,能否传上相关文件或暂时以本地表形式
6#
 楼主| 发表于 2008-4-15 10:37:34 | 只看该作者
我这个系统是连我们网络的
你先运行右边《Tact Calculate Sys》的数据在运行左边《Tact Trace Graph》的数据就会出现此错误信息,一定要选择combo栏中的内容,否则会有提示
7#
 楼主| 发表于 2008-4-15 10:38:37 | 只看该作者
能否用Lock语句先对表进行锁定
如何写Lock语句?
8#
 楼主| 发表于 2008-4-15 20:43:53 | 只看该作者
自己顶

点击这里给我发消息

9#
发表于 2008-4-16 11:41:55 | 只看该作者
有否recordset未关闭导致, 我还没找到解决方法
的确会存在你说的问题
只是为什么要删除表,而不是只删除表的内容呢
10#
 楼主| 发表于 2008-4-16 11:54:03 | 只看该作者

答复

因为“生成表查询”比较简单,但是生成表查询前需要先删除表。
我通过ODBC链接表链接原数据库,通过查询后生成表生成了本地的我需要的数据,请教,如果按你做法只删除表的内容,那我需要写一段将查询的内容一条一条的写入表内,那有没有直接将查询内容一下子复制到表里的代码,如果能这样,就好办了。是不是?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-2 04:18 , Processed in 0.093408 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表