1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| Option Compare Database
Public Sub MiseAjour()
Dim stDocName As String
Dim stLinkCriteria As String
If ExisteTable("T_TEMPORAIRE") Then ' Si la table recherche existe
Call Delete_Tbl("T_TEMPORAIRE") ' on la supprime
End If
LanceRequeteCreation (R_MAJ_TEMPORAIRE) ' lancement requete creation de la nouvelle table
stDocName = "Menu"
DoCmd.OpenForm stDocName, , , stLinkCriteria ' Ouverture du formulaire
End Sub
Public Function ExisteTable(T_TEMPORAIRE As String) As Boolean ' Fonction de test existance table
'Pour fonctionner ce code nécessite la référence
' - Microsoft DAO X Object Library
On Error GoTo Err
Dim oDb As DAO.Database
Dim oQdf As DAO.TableDef
'Accède à la base de données courante
Set oDb = CurrentDb
Set oQdf = oDb.TableDefs(T_TEMPORAIRE)
'Retourne Vrai
ExisteTable = True
fin:
'Libère les objets
Set oDb = Nothing
Set oQdf = Nothing
Exit Function
Err:
'Remonte toutes les erreurs différents de l'erreur 3265
'(la requête n'existe pas)
If Err.Number <> 3265 Then
Err.Raise Err.Number, Err.Source, Err.Description
End If
Resume fin
End Function
'---------------------------------------------------------------------------------------
'Fonction de suppression d'une table
'---------------------------------------------------------------------------------------
Public Sub Delete_Tbl(ByVal T_TEMPORAIRE As String)
Dim oDb As DAO.Database
Set oDb = CurrentDb
oDb.TableDefs.Delete "T_TEMPORAIRE"
End Sub
'---------------------------------------------------------------------------------------
'Fonction de création d'une table
'---------------------------------------------------------------------------------------
Public Sub LanceRequeteCreation(R_MAJ_TEMPORAIRE As String) ' lance les requetes creation de table
Dim ReqFind As DAO.QueryDef
Set ReqFind = CurrentDb.QueryDefs("R_MAJ_TEMPORAIRE") ' lancement requete creation table
ReqFind.Execute ' execution requete
Set ReqFind = Nothing ' fermeture
End Sub |
Partager