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

VBA Access Discussion :

Base de Données Access et concepteur ActiveX


Sujet :

VBA Access

  1. #1
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut Base de Données Access et concepteur ActiveX
    Bonjour. J'ai construit un programme qui gère une base de données, Lit, écrit et modifie des données.J'utilise un concepteur ActiveX pour faire le lien entre la base et mon programme.J'aurais voulu savoir s'il y avait un moyen de changer l'adresse de ma base pendant l'execution du programme car sur mon PC la base se trouve à une adresse que je connais, mais les personnes chez qui le programme va être installé voudrons l'installer sur le réseau, et je ne connais pas d'avance l'adresse. Merci d'avance

  2. #2
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Bonjour

    J'ai commis en un autre lieu et avant que je ne connaisse Developper (c'est à dire il y a déja quelque temps ) un praticiel sur les classes persistantes. Je n'ai jamais pris le temps de le transposer ici , mais peut-être un jour... , avec un peu plus de motivation.

    Il y a une classe pour la barre d'outils, avec notamment les outils de navigation. Cette classe permet, par une interface (une form classique), de saisir les paramètres nécessaires pour définir la connexion et le chemin des tables. L'interface se présente comme suit.



    Pour un activeX, tu as à ta disposition la boite de dialogue des pages de propriétés qui remplacera efficacement la form qui me sert d'interface (les classes n'étant pas dotées de ce type d'outil).

    Tu auras compris qu'il te faut définir les propriétés nécessaires à la connexion et à l'accès aux tables. Dans le praticiel, j'explique ceci ainsi.
    De quelles propriétés avons-nous besoin pour établir la connexion à la base de données voulue et créer le recordset hiérarchique? Pour la connexion, nous préciserons le chemin de la base de données dans la propriété CheminBD, ainsi qu'une variable interne cn. Pour les propriétés nécessaires à la création du recordset, il n'est qu'à reprendre le code SQL dont nous nous servons pour identifier ces propriétés.[/FONT]
    SQL = "SHAPE {SELECT * FROM Publishers} APPEND " & _[/FONT]
    "({SELECT ISBN, PubID, Title, [Year Published], Description, Subject, Notes FROM Titles} AS Title " & _
    "RELATE PubID TO PubID)"
    Dans cette chaîne SQL, nous avons le nom de la table principale (Publishers), celui de la table secondaire des enregistrements liés (Titles), l'alias pouvant être employé pour cette table secondaire (Title) et le nom des deux champs de liaisons (PubID pour la table principale et également PubID pour la table secondaire). Le nom des champs de la table secondaire dans la close Select ne nous servira pas pour l'instant. Les propriétés correspondantes seront TablePere, TableFils, AliasFils, ChampLiaisonPere et ChampLiaisonFils.
    [FONT=Arial]Nous arrivons donc à sept propriétés. Toutes ces propriétés n'ont pas forcément besoin d'être ou lues, ou définies. En effet, pour les propriétés liées à la connexion à la base de données et à la création du recordset hiérarchique, il faut seulement en transmettre les valeurs à la classe. Ces valeurs n'on nul besoin d'être lues de l'extérieur de la dite classe. Elles ne seront donc qu'en écriture seule, et on peut en conséquence supprimer les procédures PropertyGet (lecture) (voir §111)
    Celà devrait te mettre sur la voie.

  3. #3
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Si ca peut t'aider voici comment je fait pour installer ma base en réseau:
    -je substitue le dossier de la base en G:
    -et sur les autres poste en réseau qui voudrait s'y connecté je fait un partage en affectant un lecteur que je nomme G:
    et toutes les données de la base font référence à G:
    cela m'évite le problème de la localisation de ma base pour la conception et l'installation sur les postes en réseau.

    Autrement: bon courage.

  4. #4
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Merci mais ce n'est pas ca que je veux car si l'utilisateur du programme utilise deja le lecteur G, je ne peux pas lui faire tout changer juste pour mon programme, surtout sachant qu'il utilise d'autres programmes en réseau.

    Quand au post de jacma, désolé mais je n'ai absolument rien compris

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Configure un lecteur N:\ ca sera déja moins répendu que G

  6. #6
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par avigeilpro
    Quand au post de jacma, désolé mais je n'ai absolument rien compris
    J'ai dû mal m'expliquer.

    Je voulais simplement illustrer que pour ce que tu veux faire, tu peux utiliser des propriétés ad hoc à créer pour ton ActiveX, en l'occurence la chaîne de connexion et la ou les tables.

    Tu peux utiliser la boite de dialogue de la page des propriétés de ton composant pour définir, et donc modifier, ces paramètres. Pour cela, tu as à ta disposition l'assistant "Pages de propriétés" accessible par le menu"Compléments" de VB. Avec cet assistant, il est très facile de définir ces paramètres lors de la création de l'application (conception), ou en les modifiant.

    J'imagine que passer des valeurs de propriétés à un composant, éventuellement avec une interface utilisateur, ne devrait te poser ensuite aucun problème.

  7. #7
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je dirais volontiers, et avec la plus grande simplicité, que l'on ne se lance jamais dans le développement de contrôles utilisateurs avant d'avoir parfaitement maîtrisé le reste (développement normal) !
    Définir les propriétés d'un contrôle utilisateur passe par une bonne maîtrise de tout le reste et par une vision très claire de ce que l'on veut faire.
    Je suggèrerais de commencer par un contrôle utilisateur tout bête, pour lequel ont définit des propriétés toutes bêtes, avant d'aller plus loin !
    Il n'y aura jamais, dans ce domaine, de baguette magique
    En d'autres termes : faire un contrôle utilisateur est simple ! Lui "créer" des propriétes, avec des réactions différentes au développement et à l'exécution, demande plus d'agilité, de don de soi, de réflexion personnelle et d'acharnement à bien faire !
    Si l'on ne s'en sent pas la force, mieux vaut alors se contenter d'un module ad hoc !

  8. #8
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Vous m'avez mal compris, je ne suis pas en train de construire un Contrôle ActiveX, mais j'utilise un Concepteur ActiveX pour piloter ma base de donnée Access. Je sais utiliser les concepteurs ActiveX, ce que je cherche c'est, pendant l'execution du programme, meme au chargement, pouvoir modifier l'adresse que le concepteur doit "pointer" pour trouver la base.

  9. #9
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    J'ai beau faire des recherche je ne trouve pas de solution a mon problème, si quelqu'un a une idée voir même la solution je suis preneur, même si ce n'est qu'une piste.
    D'avance, merci

  10. #10
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    J'ai essayé de changer la propriété Connectionstring mais sans resultat, si quelqu'un a une idée, faites m'en part s'il vous plait

Discussions similaires

  1. Accès aux bases de données Access
    Par xela dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/12/2004, 09h07
  2. [débutant] Connection à une base de donnée Access
    Par Lorenzox dans le forum JBuilder
    Réponses: 1
    Dernier message: 25/10/2004, 16h28
  3. Réponses: 15
    Dernier message: 25/10/2004, 11h50
  4. [Déploiement]Base de donnée Access
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 9
    Dernier message: 09/08/2004, 20h48
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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