Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2008, 12h24   #1
Inscrit
 
Inscription : janvier 2005
Messages : 992
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : janvier 2005
Messages : 992
Points : 178
Points : 178
Envoyer un message via ICQ à faressam Envoyer un message via MSN à faressam
Par défaut Récuperer une Table Supprimer ou Requête

Bonjour
Je voulais vous demander comment faire pour récuperer une table ou requête acces après l'avoir supprimer, et avant de Fermer la Base de donnée ou la compacter,

Merci de m'indiquer la méthode à suivre ou les outils à utilisés.
faressam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 14h03   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Bonjour,

Un exemple de code inspiré de kb/209803 et kb/209874

Code vb :
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
Sub TableOuRequeteSupprimee()
Dim db As DAO.Database, td As DAO.TableDef, qd As DAO.QueryDef
Dim strSQL As String, strQname As String, blnExist As Boolean
 
On Error GoTo ErrH
 
Set db = CurrentDb
For Each td In db.TableDefs
    If td.Name Like "~TMP*" Then
       td.Attributes = 0
       td.Name = Replace(td.Name, "~", "")
       Debug.Print "Table : " & td.Name
       Exit For
    End If
Next
 
For Each qd In db.QueryDefs
    If qd.Name Like "~TMP*" Then
       strSQL = qd.SQL: strQname = Replace(qd.Name, "~", "")
       blnExist = False
       db.CreateQueryDef strQname, strSQL
       If Not blnExist Then Debug.Print "Requête : " & strQname
       Exit For
    End If
Next
 
ENDPROC:
Application.RefreshDatabaseWindow
Exit Sub
 
ErrH:
Select Case Err.Number
   Case 3012
        blnExist = True
   Case Else
        MsgBox Err.Description, , "Erreur N. " & Err.Number
End Select
GoTo ENDPROC
End Sub
Il met le nom de l'objet récupéré dans la fenêtre d'exécution de l'éditeur VB.
Il ne peut récupérer que le dernier objet supprimé, si celui-ci est une table ou une requête.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 16h36   #3
Inscrit
 
Inscription : janvier 2005
Messages : 992
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : janvier 2005
Messages : 992
Points : 178
Points : 178
Envoyer un message via ICQ à faressam Envoyer un message via MSN à faressam
Merci pour le code,
par contre il me donne une erreur sur les lignes de déclarations "Dim" :
Code :
1
2
3
 
Dim db As DAO.Database, td As DAO.TableDef, qd As DAO.QueryDef
Dim strSQL As String, strQname As String, blnExist As Boolean
il m'affiche le message suivant :
Erreur de compilation :
Type défini par l'utilsateur non défini (Ok/ Aide)

Steucture :

Table : crée.
Module : Module 1: Crée.
Formulaire, Boutton : qui fait appele à la procédure du Module.
faressam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 17h57   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Il doit manquer une référence à "Microsoft DAO x.y Object Library".
x.y est la version de DAO disponible sur ta machine.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h21.


 
 
 
 
Partenaires

Hébergement Web