Modules |
5.75 Verificare se nel database corrente esiste un determinato oggetto (2) |
Sandro Peruz |
La funzione che segue serve a verificare se nel database corrente sia presente o meno un determinato oggetto. Public Function MyObject(ByVal strname As String, ByVal ObjectType As Integer) As Boolean On Error GoTo MyObject_err MyObject = True Dim obj As AccessObject, dbs As Object Select Case ObjectType Case 0 Set dbs = Application.CurrentData.AllTables(strname) Case 1 Set dbs = Application.CurrentData.AllQueries(strname) Case 3 Set dbs = Application.CurrentProject.AllMacros(strname) Case 4 Set dbs = Application.CurrentProject.AllModules(strname) Case Else Set dbs = Application.CurrentProject.AllDataAccessPages(strname) End Select MyObject_Exit: On Error GoTo 0 Exit Function MyObject_err: MyObject = False Resume MyObject_Exit End FunctionSe per esempio voglio verificare se nel database corrente esiste la tabella chiamata MyTable richiamerò la funzione MyObject nel seguente modo: If MyObject("MyTable", 0) = True Then ' la maschera MiaForm esiste Else ' la maschera MiaForm NON esiste End IfNel richiamo della funzione il primo argomento è una stringa che contiene il nome dell'oggetto. Come secondo argomento invece si indicherà il valore 0 (zero) se l'oggetto cercato è una tabella, il valore 1 se è una query, il valore 3 se è una macro, il valore 4 se è un modulo ed il valore 2 per gli altri oggetti. Nota La funzione MyObject può essere usata solamente con versioni di Access successive ad Access 97. |