CISA FotoGallery

Statistiche

Tot. visite contenuti : 928211
Home Articoli tecnici Tabelle Esiste_Oggetto

Esiste_Oggetto

Serve pre verificare se esiste un'oggetto del Database.

USA LE LIBRERIE DAO

Public Const fForm = "Forms"
Public Const fReport = "Reports"
Public Const fMacro = "Scripts"
Public Const fModulo = "Modules"
Public Const fTabella = "Tables"
Public Const fQuery = "Queries"

Public Function Esiste_Oggetto(ByVal Nome_Ogg As String, _
    Typ_Ogg As String, _
    Optional ByVal Nome_Dbs As String = vbNullString) As Boolean
    
'*****************************************************************
    'Name : Esiste_Oggetto (Function)
    'Purpose : Verifie if Database Object(Table, Query, Form or ...) Exist
    'Author : Alessandro Baraldi
    'E.Mail : Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
    'Date : 23 gennaio 2002
    'Called by :
    'Calls :
    'Inputs : String=Object Name
    ' : Type="Tables" or "Forms" or "Queries"
    ' : "Scripts" or "Reports" or "Modules"
    ' : Nome_Dbs=Database.mdb (Source where Function search)
    'Output : True if Object Exist
    '*****************************************************************
    
Dim dbs As Database
    Dim tdf As TableDef
    Dim qdf As QueryDef
    Dim x, num_ogg As Integer
    If IsMissing
(Nome_Dbs) Or Nome_Dbs = vbNullString Then
        Set
dbs = CurrentDb
    Else
        Set
dbs = OpenDatabase(Nome_Dbs)
    End If
    Select Case
Typ_Ogg
        Case fTabella
            For Each tdf In dbs.TableDefs
                If tdf.Name = Nome_Ogg Then
                    
Esiste_Oggetto = True
                    dbs.Close
                    Set dbs = Nothing
                    Exit Function
                End If
            Next
tdf

        Case fQuery
            For Each qdf In dbs.QueryDefs
                If qdf.Name = Nome_Ogg Then
                    
Esiste_Oggetto = True
                    dbs.Close
                    Set dbs = Nothing
                    Exit Function
                End If
            Next
qdf

        Case fForm, fModulo, fMacro, fReport
            num_ogg = dbs.Containers(Typ_Ogg).Documents.Count
            For x = 0 To num_ogg - 1
                If dbs.Containers(Typ_Ogg).Documents(x).Name = Nome_Ogg Then
                    
Esiste_Oggetto = True
                    dbs.Close
                    Set dbs = Nothing
                    Exit Function
                End If
            Next
    End Select
    
Esci:
    Esiste_Oggetto = False
    dbs.Close
    Set dbs = Nothing
End Function

Alessandro Baraldi