#1 Wed 31 July 2002 08:50
- Ludovic Gnemmi
- Invité
communication Visual Basic / MapBasic
Bonjour a tous,
Je m'arrache les cheveux a tenter de faire communiquer Visual Basic et
MapBasic.
J'ai suivi le super petit guide/exemple ( Utilisation de fenetre VisualBasic
dans Mapinfo ) pour me lancer dans le domaine, disponible sur le site
http://www.paris-pc-gis.com/. Mais maintenant je suis un peu bloque pour
aller plus loin:
Je souhaiterais depuis un Form VB:
-Executer une requete SQL sur Mapinfo avec comme critere de condition Where,
un champ txt de mon form VB.
-Et stocker dans une listbox (de mon Form VB)le resultat de ma requete
(juste la 1ere colonne).
Si qqn a la moindre piste...
Merci d'avance
Ludovic
#2 Thu 01 August 2002 12:46
- Joseph Baeza
- Invité
Re: communication Visual Basic / MapBasic
De: BAEZA
Voici un petit exemple avec recherche de voies.
La table correspondante doit etre prealablement
construite avec les fichiers YY221.*** de Mapinfo
Au moins 1 colonne obligatoire = Motdir
et 1 enregistrement avec le mot = Adonis
Si probleme me contacter
--------- Programme source --------------
Option Explicit
Public MapinfoRApp As MapInfoApplication
_________________________________________________
Function Open_Mapinfo()
Dim LigneCommande As String
'-- Select * from YY221 where MotDir Like Adonis% into Selection
'-----------------------------------
LigneCommande = Select * from YY221 where Motdir Like _
& Chr(34) & Form1.TextRecherche.Text & Chr(37) & Chr(34) & into Selection
On Error Resume Next
Set MapinfoRApp = GetObject(, Mapinfo.Application )
If Err Then
MsgBox PROBLEME ! & Err.Description
End
End If
'MsgBox LigneCommande
MapinfoRApp.Do LigneCommande
If MapinfoRApp.Eval( SelectionInfo( & 3 & ) ) > 0 Then
' 3 = SEL_INFO_NROWS
AppActivate ( Mapinfo Professional )
MapinfoRApp.RunMenuCommand 306
'306 = M_ANALYZE_FIND_SELECTION
MapinfoRApp.Do AutoLabel Selection
Else
MsgBox La rue : & Form1.TextRecherche.Text & n'est pas localisee !
End If
End Function
________________________________________________
Private Sub CmdRecherche_Click()
Call Open_Mapinfo
End Sub
________________________________________________
Private Sub Form_Load()
Form1.TextRecherche.Text = Adonis
End Sub