#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