#1 Mon 15 January 2007 14:55
- Onze11
- Juste Inscrit !
- Date d'inscription: 12 Jan 2007
- Messages: 4
Géoconcept et Access2003
Salut à tous!
Mon problème se résume dans l'affichage de carte géoconcept dans un formulaire Access.
j'ai utilisé un controle activeX GeoXplorer (carte géoconcept) et ça marche. Mais ce qui m'embête ceux sont les différentes étapes pour y accéder. C-a-d:
1:cliquer droit avec le bouton de la souris,
2:ouvrir carte...
3:dans la boite de dialogue, dérouler l'arborescence pour choisir la carte,
4:etc...
Mon souhait c'est de pouvoir ouvrir la carte par simple cliq sur un bouton. après sélection du nom de la carte sur une liste. C'est peut-être du Vba à raccrocher au bouton mais si quelqu'un pourrait m'y édifier?
Merci d'avance!
Hors ligne
#2 Tue 16 January 2007 10:37
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Géoconcept et Access2003
Bonjour,
Il faut désactiver le menu droit déroulant pour ne pas permettre à l'utilisateur d'afficher une carte autre.
GeoXplorer1.XgoEnableRightClick = false
Affecter la propriété pour définir le chemin et le nom de la carte associée à l'enregistrement courant
GeoXplorer1.XgoMapName = "C:\ ..."
Il faut donc que vous gériez le chemin d'accès au carte dans votre BD.
j'espère que je vous y ais édifié suffisament. (c'est Quebequois cette expression ?)
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#3 Tue 16 January 2007 12:12
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: Géoconcept et Access2003
Bonjour
Les deux propriétés 'EnableRightClick' et 'MapName' peuvent être fixées dans les propriétés de l'ActiveX (sans VBA). Mais, pour diverses raisons, le VBA est sans doute plus efficace.
Si tu veux que les utilisateurs puissent naviguer dans la carte, il vaut mieux ajouter des boutons et listes pour permettre le changement de pointeur (sélect., main, loupe), d'échelle, de visibilité, ... Le VBA est indispensable ici, mais très simple.
En espérant y avoir ajouté à l'édification (le 'y' vient du lyonnais ?)
A+
Renaud Mouche
Hors ligne
#4 Tue 16 January 2007 12:53
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Géoconcept et Access2003
Je l'ai testé sous VB6 (GeoXplorer) ça ne pose pas de problèmes.
Ceci dit on peut regretter que seul le verrouillage du click_droit soit dispo, (des propriété enable sur les menu du click droit ...), ceci oblige effectivement à coder des boutons de commandes pour la navigation.
La raison du VBA est la suivante: la base de donnée contiendra une table contenant le nom des cartes et leurs chemin d'accès, la table sous-jacente au formulaire utilisé par Onze11 contiendra un long identifiant l'enregistrement Carte de TableCarte associé, le code VBA affectera dynamiquement la propriété MapName de l'ActiveX en fonction de chaque enregistrement.
A+
Christophe
Dernière modification par DIANA2D.dev (Tue 16 January 2007 12:53)
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#5 Tue 16 January 2007 15:00
- Onze11
- Juste Inscrit !
- Date d'inscription: 12 Jan 2007
- Messages: 4
Re: Géoconcept et Access2003
Svp DIANA2D!
c'est en effet cet aspect dynamique de la proprieté MapName de l'activeX que je souhaiterais mettre en oeuvre. Je peux avoir une idée de ce code VB?
Hors ligne
#6 Wed 17 January 2007 08:28
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Géoconcept et Access2003
Onze11, si vous souhaitez des indications ou une aide sur un code existant, pas de soucis, si par contre vous espèrez que l'on vous le donne tout prêt pour un copier coller, je tiens à vous signaler que Noël est passé.
Penchez vous sur l'aide d'Access, commencez à ecrire un bout de code permettant de récuperer le chemin d'accès aux cartes dans votre BD et vous aurez toute l'aide souhaitée pour la suite.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#7 Wed 17 January 2007 15:57
- Onze11
- Juste Inscrit !
- Date d'inscription: 12 Jan 2007
- Messages: 4
Re: Géoconcept et Access2003
salut!
je programme sous VB mais c'est la première fois que je tente de manipuler un controle activeX sous Vb.
en fait j'ai un problème d'accès aux propriétés du controle. J'ai les adresses des cartes sur une table et je veux attribuer de manière dynamique, cette adresse à la proprieté XgoMapName. quand je fais: Me.NomControle.je ne vois pas les propriétés
Hors ligne
#8 Wed 17 January 2007 16:21
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Géoconcept et Access2003
Pour l'insertion d'un controle ActiveX sous VB:
Ouvrir un projet type exe standard
Menu "projet"
Menu "composant" : sélectionnez Geoxplorer ActiveX
Après ceci un nouvel icon apparait dans la boite outil controle.
sélection de l'icon puis dépose sur une Form VB.
Ensuite les propriétés sont accessibles.
Par défaut le nom du controle est GeoXplorer1
si vous écrivez GeoXplorer1. vous devriez voir une fenetre popup listant les propriétés du controle.
Si ceci n'est pas le cas et que vous avez suivi cette démarche alors il y a un pb de code, faire executer avec compilation complete pour voir d'où ça vient.
Tenez nous au courant.
NB: je ne pourrais pas vous guider pour l'accès à la BD car je suis resté au bon vieux DAO(access97), Access2003 utilisant lui le MDAC (qui est loin d'être aussi performant).
Pour les pb de VB vous pouvez aussi poster sur:
microsoft.public.fr.vb
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#9 Wed 17 January 2007 16:44
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: Géoconcept et Access2003
Bonjour
As-tu essayé de commencer par déclarer un objet GeoExplorer ?
ex (dans VBA Access) :
Dim MaCarte as GeoXplorer
Set MaCarte = MonFormulaire.NomActiveX.Object
MaCarte.XgoMapName = "C:\..."
A+
Renaud Mouche
Hors ligne
#10 Wed 17 January 2007 17:36
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Géoconcept et Access2003
Salut Renaud,
Un activeX est un composant. Il doit être présent dans le projet et la syntaxe
Dim MaCarte AS GeoXplorer
Set maCarte = new GeoXplorer1
permet juste d'obtenir un objet dynamique copie du controle déjà présent.
La déclaration n'est pas nécessaire, je l'ai testé (GeoXplorer) dans un projet , ça ne pose pas de soucis apparent.
Quand on n'a pas accès auyx propriétés d'un objet c'est en général que VB n'arrive pas a compiler le module, il doit y avoir une erreur de syntaxe qq part dans son projet.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#11 Wed 17 January 2007 18:22
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: Géoconcept et Access2003
Salut Christophe
. quand je fais: Me.NomControle.je ne vois pas les propriétés
Le problème de Onze11 est peut-être lié à une particularité des formulaires Access : Si on ne déclare pas l'ActiveX, l'éditeur VBA ne propose pas automatiquement les propriétés et méthodes. Il faut les connaitre et les écrire à la main.
Ca m'avait fait perdre pas mal de temps avant de trouver le truc.
Désolé Onze11, mais j'ai également fait suivre DAO quand je suis passé à Access 2003.
Bonne soirée
Renaud Mouche
Hors ligne
#12 Wed 17 January 2007 20:58
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Géoconcept et Access2003
Re,
C'est vrai qu'en VBA c'est légérement différent, et j'ai pas trop l'habitude. Concernant DAO content de voir que je suis pas tout seul ... c'est une vrai daube le MDAC en plus ça t'enfle les executables de 3Mo, et c'est beaucoup moins efficace que le DAO qui est optimisé pour Access quelque soit le millésime. Ceci dit je crois qu'en Donet.vb c'est plus possible ... résultat vaut mieux aller vers Java et C++ ça permet de se désolidariser de Bill.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#13 Thu 18 January 2007 12:18
- Onze11
- Juste Inscrit !
- Date d'inscription: 12 Jan 2007
- Messages: 4
Re: Géoconcept et Access2003
Salut!
ça marche avec le vba Access
----- code-------
Private Sub Form_Current()
Dim MaCarte As GeoXplorer
Set MaCarte = Me.GeoXplorer_Cadre.Object
MaCarte.XgoMapName = Me.feuille
End Sub
" j'ai renommé le controle en GeoXplorer_cadre
feuille = chp de la table qui contient les adresses des cartes géoconcept
la source de données du formulaire = les adresses des cartes (feuille)
j'ai un formulaire principal qui contient un bouton qui fait appel ce formulaire en question qui affiche les cartes.
Merci pour vos soutiens.
Hors ligne