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 |