IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Raccourci et copie de base de données


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Raccourci et copie de base de données
    Bonjour,

    Voila j'aimerais créer un raccourci de ma base de données dans lequel le mot de passe est déjà entré : pas celui de l'utilisateur qu'on entre grace à /user et /pwd mais celui de la base de données que seul un administrateur peut changer. Que faut-il ajouter comme ligne dans le raccourci ?

    Ensuite, j'aimerais pouvoir empecher le copie de ma base de données : par exemple je voudrais empecher que mon employé copie ma base de données pour son propre usage, pas les données que les tables contiennent mais la base de données en elle meme (les tables, les formulaires, les etats, les requetes...). Comment est-ce possible ?

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Je crois bien que c'est impossible pour tes deux questions

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Pour la première question je suis du même avis que Tofalu et même si c'était possible, quel serait alors l'intérêt d'un mot de passe.

    Pour la seconde, il est possible d'empêcher la copie sur une autre machine. Il faut compiler ton application en MDE et faire une vérification des paramètres des la machine dans ton code. Par exemple sur le nom de la machine, il doit être possible d'obtenir d'autre renseignements qui sont uniques comme la MAC adresse d'une carte réseau, le n° de série du bios et de la carte mère. Si les paramètres que tu choisis ne sont pas respéctés, la base se détruit dans les oups, je confond aver Mission Impossible, la base de données se ferme.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Le soucis c'est que si demain le service informatique change d'ordi ben l'appli ne marche plus. Pour peu que le développeur ne soit plus présent et hop, des tas de données disparaissent. Et puis surtout ça ne protege que l'applicatif, pas les données

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Citation Envoyé par Tofalu
    Le soucis c'est que si demain le service informatique change d'ordi ben l'appli ne marche plus. Pour peu que le développeur ne soit plus présent et hop, des tas de données disparaissent. Et puis surtout ça ne protege que l'applicatif, pas les données
    C'est un façon de garantir ton emploi et si tu mets le nom de tes variables en Roumain et Hongrois, c'est encore mieux .
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Merci pour vos interventions !

    Concernant ma première question, il est vrai que si le raccourci entrait le mot de passe alors celui-ci serait inutile : donc même si ce sera énervant de le rentrer à chaque démarrage, vaut mieux le faire.

    Concernant ma deuxième question, la solution de Heureux-oli semble concluante. Par contre j'ai un soucis dans la création d'un MDE. S'il sagit bien du menu Outils -> Utilitaire de base de données -> Créer un fichier MDE... alors un message d'erreur s'affiche me signalant que Microsoft Access n'a pu créer une base de données MDE. Aussi, je ne vois pas quel code utiliser afin de faire vérifier les paramètres de la machine et dans le cas de faux paramètres, alors d'empecher l'ouverture de la base ?
    En réponse à Tofalu : en effet, j'ai des risques de perdre les données si je change de machine mais étant donné que le développeur sera toujours là alors j'aurai toujours un moyen de récupérer les données, de changer de pc et de reconstituer un autre fichier MDE avec un nouveau code qui comprendra les paramètres de la nouvelle machine.

    Merci de votre aide !

  7. #7
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Dans la FAQ il y a ceci

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Merci,

    Grace a ceci, je peux connaître la mac adress de la carte réseau. Mais comment m'en servir ? C'est à dire comment empecher l'exécution de l'application si l'adresse mac est différente de celle que j'aurai paramétrer ?
    Aussi pour le fichier MDE, je n'arrive toujours pas à le créer, comment trouver le soucis ?

  9. #9
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Il m'est arrivé de ne pas pouvoir créer un fichier Mde.

    Ma solution a été de créer une nouvelle BD et d'importer tous les éléments de l'ancienne.

    Essaies

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Merci de ton aide !!

    Fichier MDE créé avec succès, maintenant comment procéder afin de forcer l'application à se fermer si elle est lancée à partir d'un pc dont la mac adress de la carte réseau ne correspond pas avec celle qu'elle a en donnée ?

  11. #11
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Ce code ne permet pas de fermer en fonction de la mac adress de la carte réseau non ??

  13. #13
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Correct, tu dois faire un test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub MonForm_OnCurrent()
     
    Dim strMacAddr as String
     
    strMacAddr = ""Fonction qui te la donne""
     
    If strMacAddr = "la vraie Mac Addresse" then
       Exit Sub
    Else
       Docmd.quit
    End If
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Je suis assez débutant et j'ai du mal à comprendre où mettre ce code. Pour essayer, j'ai mis pour mon formulaire "Menu" qui se lance au démarrage ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    Private Const NCBASTAT As Long = &H33
    Private Const NCBNAMSZ As Long = 16
    Private Const HEAP_ZERO_MEMORY As Long = &H8
    Private Const HEAP_GENERATE_EXCEPTIONS As Long = &H4
    Private Const NCBRESET As Long = &H32
     
    Private Type NET_CONTROL_BLOCK
        'definition du type net control Block
        ncb_command    As Byte
        ncb_retcode    As Byte
        ncb_lsn        As Byte
        ncb_num        As Byte
        ncb_buffer     As Long
        ncb_length     As Integer
        ncb_callname   As String * NCBNAMSZ
        ncb_name       As String * NCBNAMSZ
        ncb_rto        As Byte
        ncb_sto        As Byte
        ncb_post       As Long
        ncb_lana_num   As Byte
        ncb_cmd_cplt   As Byte
        ncb_reserve(9) As Byte
        ncb_event      As Long
    End Type
     
    Private Type ADAPTER_STATUS
        'definition du type pour definir le statut de l'adaptateur réseau
        adapter_address(5) As Byte
        rev_major         As Byte
        reserved0         As Byte
        adapter_type      As Byte
        rev_minor         As Byte
        duration          As Integer
        frmr_recv         As Integer
        frmr_xmit         As Integer
        iframe_recv_err   As Integer
        xmit_aborts       As Integer
        xmit_success      As Long
        recv_success      As Long
        iframe_xmit_err   As Integer
        recv_buff_unavail As Integer
        t1_timeouts       As Integer
        ti_timeouts       As Integer
        Reserved1         As Long
        free_ncbs         As Integer
        max_cfg_ncbs      As Integer
        max_ncbs          As Integer
        xmit_buf_unavail  As Integer
        max_dgram_size    As Integer
        pending_sess      As Integer
        max_cfg_sess      As Integer
        max_sess          As Integer
        max_sess_pkt_size As Integer
        name_count        As Integer
    End Type
     
    Private Type NAME_BUFFER
        name        As String * NCBNAMSZ
        name_num    As Integer
        name_flags  As Integer
    End Type
     
    Private Type ASTAT
        adapt          As ADAPTER_STATUS
        NameBuff(30)   As NAME_BUFFER
    End Type
     
    Private Declare Function Netbios Lib "netapi32" (pncb As NET_CONTROL_BLOCK) As Byte
     
    Private Declare Sub CopyMemory Lib "kernel32" _
         Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
     
    Private Declare Function GetProcessHeap Lib "kernel32" () As Long
     
    Private Declare Function HeapAlloc Lib "kernel32" _
        (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
     
    Private Declare Function HeapFree Lib "kernel32" _
        (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long
     
    Public Function GetMACAddress() As String
     
        Dim tmp As String
        Dim pASTAT As Long
        Dim NCB As NET_CONTROL_BLOCK
        Dim AST As ASTAT
     
        NCB.ncb_command = NCBRESET
        Call Netbios(NCB)
     
        NCB.ncb_callname = "*               "
        NCB.ncb_command = NCBASTAT
     
        NCB.ncb_lana_num = 0
        NCB.ncb_length = Len(AST)
        'allocation de la memoire dans le tas du processus
        pASTAT = HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS Or _
                           HEAP_ZERO_MEMORY, NCB.ncb_length)
     
        If pASTAT = 0 Then
            Debug.Print "pas assez de mémoire!" 'bon, y a peu de chance que ca arrive :o)
            Exit Function
        End If
     
        NCB.ncb_buffer = pASTAT
        'appel de la fonction netbios qui va nous donner les stats de la carte
        '(dont l'adresse MAC)
        Call Netbios(NCB)
     
        CopyMemory AST, NCB.ncb_buffer, Len(AST)
     
        tmp = Right$("00" & Hex(AST.adapt.adapter_address(0)), 2) & " " & _
              Right$("00" & Hex(AST.adapt.adapter_address(1)), 2) & " " & _
              Right$("00" & Hex(AST.adapt.adapter_address(2)), 2) & " " & _
              Right$("00" & Hex(AST.adapt.adapter_address(3)), 2) & " " & _
              Right$("00" & Hex(AST.adapt.adapter_address(4)), 2) & " " & _
              Right$("00" & Hex(AST.adapt.adapter_address(5)), 2)
        'désallocation de la mémoire...
        HeapFree GetProcessHeap(), 0, pASTAT
     
        GetMACAddress = tmp
     
    End Function
     
    Sub MonForm_OnCurrent()
     
    Dim strMacAddr As String
     
    strMacAddr = getMACAdress()
     
    If strMacAddr = "XX-XX-XX-XX-XX-XX" Then
       Exit Sub
    Else
       DoCmd.Quit
    End If
    Est-ce correct ??

  15. #15
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Quand je met monform, c'est le nom du formulaire chargé.
    Il faut un End Sub à la fin.
    Et c'est dans les propriété du formulaire qui s'ouvre en premier dans la ligne sur activation.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  16. #16
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Merci de ton aide, il se fait tard, j'essaierai demain et je te tiendrai au courant.

  17. #17
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Bonsoir,

    C'est résolu. Du moins j'ai abandonné l'idée d'empecher l'ouverture de l'application si elle n'est pas executée à partir du pc adéquat. Mais j'ai tout de même réussi à installer de nombreuses sécurités.
    Merci à tous de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copie de base de données
    Par dev-man dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/03/2006, 15h42
  2. [MFC] [ODBC] Pb copie de base de donnée..
    Par matth2602 dans le forum MFC
    Réponses: 3
    Dernier message: 17/01/2006, 13h20
  3. Copie de base de données vers un autre PC
    Par claire.martin dans le forum Access
    Réponses: 19
    Dernier message: 06/01/2006, 14h20
  4. probléme pour faire une copie de base de donnée
    Par nours33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/12/2005, 12h35
  5. Probleme de de copie de base de données
    Par valentin4949 dans le forum Access
    Réponses: 3
    Dernier message: 01/11/2004, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo