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

VB 6 et antérieur Discussion :

[VB6]Accès et manipulation d'une BD Access sur réseau


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut [VB6]Accès et manipulation d'une BD Access sur réseau
    Bonjour,

    Pour accéder à une base de données locale, j'utilise la fonction suivante ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set db=dbopendatabase("c:\amo\bd\amo97.mdb")
    set rs=db.openrecordset("assurance")
    Je veux mettre ma base de données sur un poste serveur et y accéder à partir de plusieurs postes. Comment je peux programmer cet accès (ouverture de la base, ajout, modification etc)??

    Merci bcp pour votre aide.

    LEILA

  2. #2
    Membre habitué Avatar de medbouh
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 171
    Points
    171
    Par défaut
    bon t'as plusieurs façon de faire soit d'utilisé l'ODBC.

    1.ODBC : tous d'abord tu doit crée une source ODBC, dans chaque poste client, que tu utilisera par la suite dans ton code pour te connecter à la base de donnée.

    il y a une aure methode c'est l'utilisation d'un Fichier de type UDL, mais je te conseil d'utilisé l'ODBC.
    avant de poste pensez à c'est plus constructif.

    n'oublie pas d'utilise le bouton

    si vous trouvez la solution vous meme n'oublie pas de l'indiquer.

  3. #3
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Pour éviter d'avoir à créer un DSN ODBC sur chaque poste client :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DriverAccess="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="
    BaseAccess="c:\amo\bd\amo97.mdb"
    Set conn = CreateObject("ADODB.RecordSet")
    MySql = ""
    MySql = MySql & "SELECT * from Matable"
    conn.Open MySql, DriverAccess & BaseAccess

  4. #4
    Membre habitué Avatar de medbouh
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 171
    Points
    171
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Bonjour, 
     
    Pour éviter d'avoir à créer un DSN ODBC sur chaque poste client : 
     
    Code: 
     
    DriverAccess="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" 
    BaseAccess="c:\amo\bd\amo97.mdb" 
    Set conn = CreateObject("ADODB.RecordSet") 
    MySql = "" 
    MySql = MySql & "SELECT * from Matable" 
    conn.Open MySql, DriverAccess & BaseAccess
    c'est bien ce qui a etait indiquer mais il ne faut pas oublie que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Je veux mettre ma base de données sur un poste serveur et y accéder à partir de plusieurs postes. Comment je peux programmer cet accès (ouverture de la base, ajout, modification etc)??
    c'est pour ca tu peut utiliser ca mais le chemin de la base de données doit etre un chemain réseaux.
    avant de poste pensez à c'est plus constructif.

    n'oublie pas d'utilise le bouton

    si vous trouvez la solution vous meme n'oublie pas de l'indiquer.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Accès et manipulation d'une base donnée réseau
    Bonjour ,

    J'ai utiliser la méthode ordinaire pour accéder à une base de données partagée sur le réseau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set db = DBEngine.OpenDatabase("\\Ag\AG\BD\loulou.mdb")
    Jusqu'à présent, ça marche très bienn j'accède à une base de données partagée par réseau et je la manipule à partir de mon poste.

    Je voudrais juste savoir si cette méthode est efficace ou pas? Et son degré d'efficaté par rapport à méthode de l'ODBC.

    Je n'ai aucune idée sur les ODBC...etc

    Merci

    LEILA

  6. #6
    Membre habitué Avatar de medbouh
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 171
    Points
    171
    Par défaut
    ta methode est correcte, et simple mais il faut faire attention au droit d'acces au serveur à partir d'un poste client sur windows 2000 et XP
    avant de poste pensez à c'est plus constructif.

    n'oublie pas d'utilise le bouton

    si vous trouvez la solution vous meme n'oublie pas de l'indiquer.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    En ce qui concerne les droit d'accès, j'ai essayé de faire un petit truc mais ça ne marche toujours pas

    Je programme en VB6 avec une base de données Access partagée par réseau.

    Voici le code en entier que j'ai utilisé :

    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
    Dim worksp As Workspace
    Dim wgroup As New Group
    Dim wgprop As Property
    Dim wgpuser As New User
     
    Set db = DBEngine.OpenDatabase("\\Ag\AG\BD\loulou.mdb")
    Set worksp = DBEngine.Workspaces(0)
     
    n_group = InputBox("Veuillez entrer le nom du goupe")
    n_group_pass = InputBox("Veuillez entrer le mot de passe du goupe")
    n_user = InputBox("Veuillez entrer le nom de l'utilisateur")
    n_user_pass = InputBox("Veuillez entrer le mot de passe de l'utilisateur")
    Set wgroup = worksp.CreateGroup(n_group, n_group_pass)
    Set wgpuser = wgroup.CreateUser(n_user, n_group_pass, n_user_pass)
    p = wgroup.Users.Count
    p1=wgpuser.Groups.count
    Le code s'execute bien mais la valeur de "p" et "p1" sont égales à 0!! Cela veut dire que ni le group ni les utilisateurs n'ont été crées.

    Aussi combien d'utilisateurs pourront travailler en même temps sur mon application?? (Comment programmer ça?)

    Merci bcp

    LEILA

  8. #8
    Membre habitué Avatar de medbouh
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 171
    Points
    171
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    n_group = InputBox("Veuillez entrer le nom du goupe") 
    n_group_pass = InputBox("Veuillez entrer le mot de passe du goupe") 
    n_user = InputBox("Veuillez entrer le nom de l'utilisateur") 
    n_user_pass = InputBox("Veuillez entrer le mot de passe de l'utilisateur") 
    Set wgroup = worksp.CreateGroup(n_group, n_group_pass) 
    Set wgpuser = wgroup.CreateUser(n_user, n_group_pass, n_user_pass) 
    p = wgroup.Users.Count 
    p1=wgpuser.Groups.count
    tout d'abord j'ai pas compris ca, car j'ai jamais travaillé avec. ok donc je peut pas t'aider sur ca.

    mais en ce qui concerne les droit d'acces il faut crée un utilisateur windows au niveau du serveur.

    et par la suite toutes utilisateur qui veut travailler sur l'application doit se loger sur le poste client avec le meme utilisateur at meme mot de passe ok.c'est comme si tu veut acceder à un poste distant et quand tu fait voisinage reseau et tu double clique sur le poste il te demande un nom d'utilisateur et mot de passe, mais si tu loger avec un utilisateur qui existe sur le serveur avec le meme mot de passe il ne te demande rien.

    j'espere que les chose sont bien claire.
    avant de poste pensez à c'est plus constructif.

    n'oublie pas d'utilise le bouton

    si vous trouvez la solution vous meme n'oublie pas de l'indiquer.

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Accès et manipulation d'une base donnée réseau
    Salut

    Oui merci bcp, les chises sontclaires, je vais faire un essaye.

    Merci pour l'aide


    Bonne journée
    LEILA

Discussions similaires

  1. Récupération des données d'une base access sur réseau
    Par fishingman dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/06/2011, 09h13
  2. [VB6] Lister les tables d'une base access
    Par eagleleader dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/02/2008, 14h41
  3. [VB6]Lire une base Access sur le Net.
    Par SNDP dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/07/2006, 15h02
  4. [MFC] Accès à une base access sur le net
    Par LapinGarou dans le forum MFC
    Réponses: 4
    Dernier message: 21/03/2006, 12h11
  5. [VBA-A]Acces aux données d'une requête Access
    Par Yanmeunier dans le forum VBA Access
    Réponses: 7
    Dernier message: 28/02/2006, 12h21

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