banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Wed 08 August 2001 21:58

Environnement Votre
Invité

Utilisation de mapinfo avec Access

Bonjour a tous,

J'ai une table liee d'un .dbf exporte de MapInfo dans une base de donnees ACCESS 2000. Lorsque j'affiche et imprime des etats, et notamment des sous-etats qui sont dependants de cette table liee, ACCESS me bloque en disant que cette table est deja utilisee par un autre processus et n'affiche, voire n'imprime aucun des sous-etats concernes.
Si je coupe le lien dynamique, l'operation semble correcte. Mais tout l'interet residait justement dans l'interactivite.

Auriez-vous une solution.
Merci beaucoup

 

#2 Thu 09 August 2001 21:58

VAROQUAUX Antoine (FR/DIN)
Invité

Re: Utilisation de mapinfo avec Access

Pour ma part, j'aurai cree une table MapInfo avec un lien DBMS avec la table Access, ce qui permet de mettre la table Access a jour via MapInfo.

 

#3 Mon 14 January 2002 20:48

Patrice
Invité

Re: Utilisation de mapinfo avec Access

Je n'ai pas developpe les applications Objets OLE-donnees mais il me semble qu'on ne peut faire de lien entre eux. Par contre tu peux importer une table dbf (sous condition de l'exporter de MI vers dbf ou autre) liee. Requete SQL sous MI pour extraire ce dont tu as besoin. desole si ca ne repond pas.

 

#4 Mon 14 January 2002 20:48

Champ Sébastien
Invité

Re: Utilisation de mapinfo avec Access

Bonjour,
Je souhaite ouvrir une fenetre Map Info dans un formulaire access dans le
but de recuperer des coordonnees. Il faudrait que suite a un clic sur la
carte Map info, access puisse recuperer les coordonnees du point.
Dois je programmer en Map basic ou puis je rester en Visual basic sous
Access?

Champ Sebastien
Meilleurs voeux a tous pour cette nouvelle annee.

 

#5 Mon 14 January 2002 20:49

Béatrice FERNANE
Invité

Re: Utilisation de mapinfo avec Access

Bonjour,

Je n'ai pas essaye d'ouvrir MAPINFO dans un formulaire mais je l'ai fait dans un etat. Il n'est pas necessaire d'utiliser Map Basic. Dans ACCES, je me mets en modification et je prepare une zone d'insertion suffisamment grande en tirant sur la barre limitant le pied de page dans la zone mediane. J'utilise la commande insertion Objet du menu Fichier et choisis dans la liste MAPINFO.
La premiere fois le logiciel peut donner un message pour dire de reinstaller MAPINFO car il n'est pas enregistre dans la liste. Il faut recommencer la procedure apres avoir reinstaller MAPINFO. A vous de composer la fenetre carte.
Pour la legende, il faut faire une deuxieme fenetre carte.

 

#6 Mon 14 January 2002 20:51

SébastienRoddier
Invité

Re: Utilisation de mapinfo avec Access

Bonjour

La solution la plus simple est d'utiliser l'Integrated Mapping.
Dans votre code VB tapez les quelques lignes suivantes

Dim mi As Object

sub form_laod()
Set mi = CreateObject(”MapInfo.application”)
mi.do ”Set Application Window ” & Form1.hWnd
mi.do ”Set Next Document Parent ” & Form1.hWnd & ” Style 1”
mi.do ”Open Table ””World”” Interactive Map From World”

End Sub

Ce bout de code permet d'afficher la carte world sur la form nommee Form1 .

Ensuite toutes les commandes MapInfo sont passees a votre systeme de la maniere suivante :

mi.do Commandes mapinfo

Attention : vous devez necessairement avoir mapinfo (ou un RunTime) sur votre PC ou est installee votre application

A bientot

 

#7 Wed 09 October 2002 13:24

Chazotmichael
Invité

Re: Utilisation de mapinfo avec Access

Bonjour,
j'aimerais de la meme facon que vous, cliquer un point dans MapInfo et recuperer ses coordonnees dans une table Access. Avez vous reussi a faire cette operation et avez vous un bout de code eventuellement??
Merci

 

#8 Thu 17 October 2002 11:14

Sebastien Roddier
Invité

Re: Utilisation de mapinfo avec Access

Bonjour a tous

Apres plusieurs tests je suis enfin arriver a inclure une carte MI dans un formulaire access.
Il subsiste toutefois encore un petit probleme : la carte ne s'affiche pas dans le formulaire, mais dans l'explorateur de base de donnees Access. Je ne suis pas loin du but, voici le code source, si quelqu'un a une idee geniale.

Tout d'abord creeer un nouveau formulaire dan slequel vous incluez un nouveau control (sous formulaire nomme ici frmmap)

Dans une page de code VBA (Alt F11) copiez le code suivant :

Option Compare Database

Dim mi As Object

Private Declare Function apiGetFocus Lib user32 Alias GetFocus () As Long
'********************************************
Function fhWnd(ctl As Control) As Long
On Error Resume Next
ctl.SetFocus
If Err Then
fhWnd = 0
Else
fhWnd = apiGetFocus
End If
On Error GoTo 0
End Function
'********************************************

Private Sub Form_Load()

Set mi = CreateObject( mapinfo.application )

Dim idmapwin As Long
Dim cntl As Control
Dim cntlhwnd As Long

Set cntl = Me.frmmap
cntlhwnd = fhWnd(cntl)

With mi
.Do Set Application Window  & cntlhwnd
.Do Set Next Document Parent  & cntlhwnd &  Style 2
'N'oubliez pas de changer le chemin d'acces a la table a cartographier
.Do Open Table  C:tempelec400.tab  Interactive Map From elec400
iMapWinID = Val(.Eval( FrontWindow() ))
.Do set map zoom entire layer 1
.Do Set Window  & iMapWinID &  Scrollbars On
.RunMenuCommand 1702
'    .Do Create Menu  MapperShortcut  ID 17 As  (-
.Visible = False
End With

End Sub

Merci d'avance pour votre aide precieuse.

A+

 

#9 Thu 24 October 2002 14:49

BRENNER
Invité

Re: Utilisation de mapinfo avec Access

Bonjour,

je me suis interroge sur ton probleme car la laision ole pouvait
m'interesser par la suite. Or comme toi je me retrouve lors de l'envoi de
l'instruction Mapinfo dans une fenetre MI pour application (ce que tu
appelles l'explorateur de base de donnees Access) et ce malgre l'usage du
hwnd du controle de la picturebox censee recevoir les donnees MI.
Apres reflexion et information, il semble que l'on soit aux limites de VBA
par rapport a VB car le hwnd recupere sous Access pour un controle Access ne
permet pas toute les manipulations comme pour un controle cree sous VB
directement. il semble que dans ce cas, le hwnd du controle recupere se
comporte comme un hwnd du formulaire ouvert et non directement du
controle...

J'espere etre clair (ce n'est pas evident de tourner ca en francais...) et
peut etre apporter quelques explications.

Si quelqu'un a quelques avis sur le sujet, ce serait vraiment
chouette....merci d'avance

 

#10 Thu 24 October 2002 15:24

Sebastien Roddier
Invité

Re: Utilisation de mapinfo avec Access

Bonjour

Effectivement, apres information je suis arrive a la meme conclusion. Cependant, il semble que l'on puisse ajouter des OCX dans access, qui ont, entre autres, la propriete HWND. J'ai tenter de faire ceci avec un controle nomme Threed32.ocx
(c'est ce que l'on m'a conseiller de faire).Pour mon malheur, il faut une licence d'utilisation pour cet OCX.

Nous sommes quand meme sur la bonne voie, a condition qu'une ame charitable puisse nous fournir un OCX (si possible gratuit) ayant comme propriete HWND.

Avis donc a la population......

Cordialement

 

#11 Fri 25 October 2002 11:07

BRENNER
Invité

Re: Utilisation de mapinfo avec Access

De : Eric BRENNER

Bonjour,

Apres une forte activite cerebrale hier soir (!?!) j'ai enfin trouve une solution a notre probleme.

Je me suis rendu compte que le probleme n'etait pas l'activation ou non du hwnd d'un controle mais le fait que le controle choisi (comme une boite image independante, par exemple) ne pouvait pas etre active et donc renvoyer un hwnd comme n'importe quelle fenetre. En effet les controles comme l'exemple ci-avant ne permettent pas de selection. En consequence la
fonction fhWnd renvoyait uniformement 0 au crtlHwnd...donc pas de Handle et pas de fenetre dans lequel afficher la liaison ole.

La solution consiste donc a utiliser un controle qui peut etre active (ou la fonction SetFocus ne renvoie pas d'erreur)comme:
- une textBox independante
- un sous-formulaire vide...

Moi j'ai utilise un sous-formulaire et tout fonctionne comme sur des roulettes a present (je l'ai aussi teste avec une textBox et ca fonctionne).

Voila si tu as besoin je peux tres bien t'envoyer un bout de code pour mieux comprendre ma demarche...

bon courage

 

#12 Fri 23 October 2009 16:42

Alexandre_FR
Participant occasionnel
Date d'inscription: 5 Oct 2009
Messages: 21

Re: Utilisation de mapinfo avec Access

Je sais que c'est très très loin (2002 !!) mais j'aimerai avoir un exemple de code. Car j'essaye de refaire la manip et ma map s'affiche dans un petit form extérieur à mon objet supposé devenir le containeur !!

Merci


Alexandre FREJAFON
Direction de l'Innovation et des Systèmes d'Information
CACG - Tarbes

Hors ligne

 

#13 Sun 01 November 2009 09:48

SRoddier
Membre
Date d'inscription: 19 Oct 2007
Messages: 14

Re: Utilisation de mapinfo avec Access

Bonjour Alexandre,

Effectivement 2002 c'est très loin et je ne me rappelle même pas avoir été aussi loin dans la réflexion. Cependant, ayant construit plusieurs applications avec MI intégré je confirme les propos d'Eric Brenner : ca marche.

Je vais essayer de retrouver dans mes archives des bouts de codes mais je ne promet rien car j'ai de nombreuses fois changer de PC.....depuis 2002.

Par ailleurs, il me semble avoir même écrit un petit topo disponible sur le site de Jacques Paris. Il te sera également utile de récupérer le document SQL_MB que nous avions écrit car il te permettra, dans ton application, de passer des commandes d'analyses spatiales à mapInfo comme par exemple récupérer les coordonnées d'un point sur la carte.


Eric : je te salut si tu es connecté au Georezo.

Cdt

Hors ligne

 

Pied de page des forums

Powered by FluxBB