设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

关闭所有打开的Access对象

1970-1-1 08:00| 发布者: Benjaminluk『文章』| 查看: 1926| 评论: 0

Public Function CloseObj()
Dim intSt As Integer, intType As Integer, strName As String
Dim rs As DAO.Recordset, J As Long, VarReturn As Variant
'Set rs = Nothing
Set rs = CurrentDb.OpenRecordset("SELECT MSysObjects.Name, MSysObjects.Type " & _
                                 " FROM MSysObjects WHERE (((MSysObjects.Name) " & _
                                 " Not Like 'Msys*' And (MSysObjects.Name) Not Like '~*') " & _
                                 " AND ((MSysObjects.Type)<>3 And (MSysObjects.Type)<>-32757 " & _
                                 " And (MSysObjects.Type)<>-32758));")
'Set rs = CurrentDb.OpenRecordset("Select * from DB_Object")
rs.MoveFirst
VarReturn = SysCmd(acSysCmdInitMeter, "关闭OBJECT", rs.RecordCount)
Do Until rs.EOF
J = J + 1
intType = GetTT(rs.Fields(1))
strName = rs.Fields(0)
DoCmd.Close intType, strName, acSaveYes
'DoCmd.DeleteObject intType, strName
rs.MoveNext
  VarReturn = SysCmd(acSysCmdUpdateMeter, J)
Loop
Set rs = Nothing
End Function
Public Function GetTT(var As Variant) As Integer
If var = -32768 Then
GetTT = 2
ElseIf var = 1 Or var = 6 Then
GetTT = 0
ElseIf var = -32766 Then
GetTT = 4
ElseIf var = -32761 Then
GetTT = 5
ElseIf var = -32764 Then
GetTT = 3
ElseIf var = 5 Then
GetTT = 1
End If
End Function

本人用的,关闭所有的OBJECT

最新评论

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

GMT+8, 2025-4-6 19:24 , Processed in 0.160161 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部