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 :

Comment transformer une BDD access en programme informatique quelconque ?


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Comment transformer une BDD access en programme informatique quelconque ?
    Bonjour à tous.

    J'ai crée une base de données Access avec une table que je remplis à l'aide d'un formulaire.

    Je voudrais que cette BDD soit accessible à d'autres utilisateurs pour :
    - qu'ils puissent ajouter des données
    - qu'ils puissent faire des consultations (seulement).

    Néanmoins, j'aimerais que l'accès soit restreint sur d'autres thèmes, tels que ajouter d'autres formulaires ou tables dans la base de données, changer la mise en page, etc... excepter pour moi, qui serait en quelque sorte l'administrateur.

    L'idéal serait donc que le formulaire ainsi que la table apparaissent comme un programme informatique, sans avoir pour fond d'écran la page access, car les utilisateurs ne connaissent rien à access. Et je ne veux pas utiliser la fonction qui permet de limiter l'accès à des données access

    Je ne sais pas si je me fais bien comprendre.

    J'aimerais donc savoir comment faire, de la manière la plus compréhensible, car je ne connais rien de la programmation informatique.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 171
    Points
    12 171
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Une application Microsoft Access a besoin de Microsoft Access pour fonctionner. En aucun cas, vous pouvez transformer une application Microsoft Access en exécutable autonome. Si vous voulez pouvoir donner un aspect professionnel à votre application de telle sorte ce que vous vouliez faire croire que c'est un "programme informatique" comme vous le dite si bien, vous avez deux possibilités de cacher l'instance ACCESS de manière à ce que l'utilisateur se retrouve qu'avec des formulaires à l'écran.
    La mise en place d'un tel procédé exige une bonnes connaissances de Visual Basic et une excellente maîtrise de votre application car la moindre erreur rencontrée plantera votre appli et vous ne serez plus à même de reprendre la main sur tel ou tel écran si vous n'avez pas prévu le code idoine pour pouvoir empêcher les comportements inattendus.
    Il y a eu quelques débats à ce sujet sur le forum : effectuez une recherche avec les mots-clés exécutables et Access ;je pense que vous devriez trouver.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Fais des recherches dans la ....avec le mot clef "sécurité"
    http://access.developpez.com/faq/?pa...eral#SecuUsers

    ...et effectue une recherche dans les anciens posts [fonction Recherche situé dans le bandeau en haut de chaque page]..

    Tu y trouveras...
    http://www.developpez.net/forums/sho...rotection+base
    http://www.developpez.net/forums/sho...rot%E9ger+base
    http://www.developpez.net/forums/sho...rot%E9ger+base
    http://www.developpez.net/forums/sho...rot%E9ger+base

    Bonne recherche...et bonne lecture...
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  4. #4
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour

    Merci, je vais étudier vos réponses.

    Sinon, sur un autre forum, j'ai trouvé une fonction à ajouter lors du démarrage du formulaire. Il suffit d'aller sur la propriété "à l'ouverture" et ajouter ce code:

    DoCmd.RunCommand
    acCmdAppMinimize

    Puis cocher pour tous les formulaires et états les propriétés suivantes :
    • fenêtre independante : oui
    • fenêtre modale : oui


    Qu'en pensez vous ? sachant que quelquefois ca marche et d'autres fois, j'ai un message d'erreur qui s'affiche dans la fonction sans que je comprenne pourquoi.

  5. #5
    seb92400
    Invité(e)
    Par défaut
    Hello,

    Personnellement, c'est la méthode que j'utilise : J'ai mon menu général en maximisé et j'ouvre tous mes autres formulaires en indépendant (modale, peu importe, ça dépend si tu veux pouvoir accéder à ton menu ou non). Si on se donne la peine de de cacher les barres d'outils et les menus qu'on ne veut pas, ou mieux, si on démarre en mode runtime, l'appli ressemble à une appli pro (la fenêtre d'access devenant alors la fenêtre principale de l'application). Le must est d'ajouter un itre et un icone perso...

    Je n'ai par contre encore pas constaté d'erreur particulière... Tu obtiens quoi comme erreur ?

    Par contre, il me reste une petite chose que j'aimerais bien enlever, mais je n'y arrive pas : Rendre inactif le bouton dans la barre de titre qui permet de passer en mode inférieur (les deux carrés entre le trait pour réduire et la croix pour fermer). Dans les sources, j'ai vu qu'on pouvait enlever la petite croix, qui fonctionne parfaitement, et en me basant la dessus, je crois avoir essayé toutes les constantes (j'arrive à faire disparaitre le menu contextuel, etc... mais l'icone, rien à faire, elle est toujouts là !!!!)

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 171
    Points
    12 171
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par AUDREYBARCA
    DoCmd.RunCommand
    acCmdAppMinimize
    Oui, cela fonctionne.
    Seul bémole, faire en sorte que l'application puisse être réduite dans la barre de tâche puis restaurée
    Citation Envoyé par AUDREYBARCA
    Puis cocher pour tous les formulaires et états les propriétés suivantes :
    • fenêtre independante : oui
    • fenêtre modale : oui
    Ce n'est utile que pour les formulaires dit de dialogue où le user est obligé de choisir quelque chose avant de passer à l'étape suivante.
    Sur une fenêtre principale, se elle est ouverte seule et en plein écran, cela ne présente pas un grand intérêt.
    Par ex, un message issue de la fonction MsgBox() est systématiquement Modal pour empêcher l'utilisateur de cliquer sur la fenêtre appelante.

    Attention, une fenêtre indépendante où le bouton Fermer [X] a été oté ne pourra pas être fermée par combinaison de touches. Prévoir alors un bouton Fermer.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  7. #7
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par noawsen
    J'ai mon menu général en maximisé et j'ouvre tous mes autres formulaires en indépendant (modale, peu importe, ça dépend si tu veux pouvoir accéder à ton menu ou non). Si on se donne la peine de de cacher les barres d'outils et les menus qu'on ne veut pas, ou mieux, si on démarre en mode runtime, l'appli ressemble à une appli pro (la fenêtre d'access devenant alors la fenêtre principale de l'application). Le must est d'ajouter un itre et un icone perso...
    Ce que tu dis là au sujet de l'indépendance des formulaires m'intéresse, mais je n'ai aucune idée de comment faire. As-tu un code pour y parvenir ? si oui, peux-tu me le transmettre et où dois je l'ecrire? Par contre, le mode Runtime, je ne vois pas du tout en quoi ca consiste ...



    Citation Envoyé par noawsen
    Je n'ai par contre encore pas constaté d'erreur particulière... Tu obtiens quoi comme erreur ?
    En fait, j'ai un message d'erreur quand j'enregistre le code en mode script. Je me suis rendu compte qu'il ne faut pas l'enregistrer à ce moment là, sinon seulement, enregistrer à la fermeture du formulaire. Avec ce changement, ca fonctionne maintenant.

    J'espère que tu pourras m'en dire plus au sujet de l'indépendance des formulaire ...

    Merci d'avance

  8. #8
    seb92400
    Invité(e)
    Par défaut
    Ce que tu dis là au sujet de l'indépendance des formulaires m'intéresse, mais je n'ai aucune idée de comment faire. As-tu un code pour y parvenir ? si oui, peux-tu me le transmettre et où dois je l'ecrire? Par contre, le mode Runtime, je ne vois pas du tout en quoi ca consiste ...
    Rien de bien compliqué en fait. La plupart des applis que j'ai réalisée pour l'instant sont des applis prêtes à l"emploi ou l'utilisateur n'a pas à mettre le nez dans le moteur... (pas de conception de requête, pas de conception d'état, etc...). A partir du moment ou tu ne souhaites pas qu'un utilisateur puisse créer des objets dans ta bse ou simplement sur un poste non équipé d'Access, tu utilises le runtime (c'est un access très simplifié où toutes les fonctions de créations et de visualisation du code, des tables, etc....) ont été supprimées.
    C'est donc ce que je fais. Si les postes sont équipés d'Access, je place simplement le paramètre /runtime dans la ligne de commande d'ouverture (voir le tuto) de l'appli (+ mot de passe et je créé un petit exe juste pour lancer l'appli, mais ça c'est une autre histoire).

    Après pour la présentation, je créé un menu général selon les souhaits de l'utilisateur en maximisé (non indépendant, non modal) (il me reste donc à l'écran la barre de menu, la barre des tâches et uniquement l'application avec son menu ou ses fenêtres de démarrage. Bref, ça ressemble donc à n'importe quelle appli du marché (un barre menu + un écran + une barre tâches)

    Ensuite, selon le type de formulaire à ouvrir, si c'est par exemple un petit formlaire de contact, je le mets en indépendant et modal, si c'est un formulaie qui doit prendre tout l'écran, je le maximise simplement, etc... Voilà...

    J'espère que c'est plus clair pour toi...

    Bon courage... Si tu débutes, n'hésites pas à consulter les tutos, la faq et la recherche, tu y trouveras une mini quasi inépuisable de renseignements... Et si tu ne trouves pas, tu auras en général une âme charitable qui passera par là...


  9. #9
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton explication, j'ai compris un peu mieux en quoi consiste runtime, donc apparamment, j'ai pas besoin de l'installer, mais pour les tutos je ne vois pas ce que je dois faire. Je ne comprends pas,même en cherchant dans recherche et forum.

    Je suis larguée, je ne comprends pas tout le langage informatique. N'existe t-il pas une autre solution ?

    Merci

  10. #10
    seb92400
    Invité(e)
    Par défaut
    mais pour les tutos je ne vois pas ce que je dois faire
    Je parle des tutoriels, tu as un raccourci ici même en haut dans la barre de liens... Ce sont des mini-cours qui te permettent de progresser dans des domaines très variés...

    Tiens, regarde ici

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 201
    Points : 88
    Points
    88
    Par défaut
    et les fichiers MDE c'est pas bien?

  12. #12
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    j'avais déjà posté la solution ailleurs ...

    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
    Option Explicit
     
    Private Declare Function SetWindowLongA Lib "user32" _
      (ByVal hWnd As Long, ByVal nIndex As Long, _
      ByVal dwNewLong As Long) As Long
     
    Private Declare Function GetWindowLongA Lib "user32" _
      (ByVal hWnd As Long, ByVal nIndex As Long) As Long
     
    Const WS_MINIMIZEBOX = &H20000
    Const WS_MAXIMIZEBOX = &H10000
    Const GWL_STYLE = (-16)
     
    Function RetireRestoreMaximize(ByVal hWndx As Long)
    ' hWndx est le handle de la fenêtre dont on neutralise les
    '  boutons maximize/restore
     
    Dim L As Long
     
        L = GetWindowLongA(hWndx, GWL_STYLE)
        L = L And Not (WS_MINIMIZEBOX)
        L = L And Not (WS_MAXIMIZEBOX)
        L = SetWindowLongA(hWndx, GWL_STYLE, L)
     
    End Function
    Citation Envoyé par noawsen Voir le message
    ../..

    Par contre, il me reste une petite chose que j'aimerais bien enlever, mais je n'y arrive pas : Rendre inactif le bouton dans la barre de titre qui permet de passer en mode inférieur (les deux carrés entre le trait pour réduire et la croix pour fermer). Dans les sources, j'ai vu qu'on pouvait enlever la petite croix, qui fonctionne parfaitement, et en me basant la dessus, je crois avoir essayé toutes les constantes (j'arrive à faire disparaitre le menu contextuel, etc... mais l'icone, rien à faire, elle est toujouts là !!!!)
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



Discussions similaires

  1. Comment mettre en ligne une bdd Access
    Par tleboukaka dans le forum Access
    Réponses: 1
    Dernier message: 08/03/2013, 08h39
  2. Réponses: 1
    Dernier message: 28/06/2010, 14h19
  3. Réponses: 1
    Dernier message: 07/04/2008, 22h29
  4. Comment imprimer une BDD comme le fait Access
    Par Hamza dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2006, 14h15
  5. Transformer une Bdd Excel en Bdd Access
    Par Golork dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/08/2005, 17h40

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