下列代码实现了类似地理匹配的功能。即TAB与DataBase中有一字段相同,将二者关联起来。(采用ODBC,DAO,ADO三种方式)
Private Sub cmdCustom_Click()
'Add the single layer
Map1.Layers.RemoveAll
Map1.Layers.Add App.Path & "\import.tab"
'make the map look nice for the sample data
Map1.DisplayCoordSys = Map1.NumericCoordSys
Map1.Title.Visible = False
Map1.Bounds = Map1.Layers.Item("import").Bounds
Map1.Zoom = Map1.Zoom * 2
Clickable (True)
End Sub
Private Sub cmdQuit_Click()
End
End Sub
Private Sub Command1_Click()
Dim ds As MapXLib.Dataset
Dim flds As New MapXLib.Fields
'requires reference to: "MapX ODBC Dataset Engine Library"
'and an ODBC DSN named import needs to be linked to import.mdb
Dim parm As New ODBCQueryInfo
parm.SqlQuery = "Select * from table1"
parm.DataSource = "import" 'DSN pointing to Mapstats.mdb
parm.ConnectString = "ODBC;"
' Get the relevant fields that'll come from DB
flds.Add "DB1", "DB1", miAggregationIndividual, miTypeString
flds.Add "DB2", "DB2byODBC", miAggregationIndividual, miTypeString
'Make Dataset
Set ds = Map1.Datasets.Add(miDataSetODBC, parm, "imporTODBC", "DB1", , "import", flds)
'make the theme
ds.Themes.Add miThemeAuto
Clickable (False)
End Sub
Private Sub Command2_Click()
Dim ds As MapXLib.Dataset
Dim flds As New MapXLib.Fields
'requires reference to: "Microsoft DAO Object Library"
Dim db As Database
Dim rs As Recordset
'open Database and recordset
Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "/import.mdb")
Set rs = db.OpenRecordset("table1")
'define the fields
flds.Add "DB1", "DB1", miAggregationIndividual, miTypeString
flds.Add "DB2", "DB2byDAO", miAggregationIndividual, miTypeString
'add the dataset
Set ds = Map1.Datasets.Add(miDataSetDAO, rs, "importDAO", "DB1", , "import", flds)
'make theme and clos






