Access到MI表转换:bindlayerXY与layerInfo方法
需积分: 1 154 浏览量
更新于2024-10-18
收藏 10KB TXT 举报
本文主要介绍了在MapInfo中将Access数据库中的表转换为MI表的两种方法,即bindlayerXY方式和layerInfo新建表的方式,并提供了相关的VBA代码示例。
在MapInfo中,将Access数据库(通常是.MDB文件)中的表与地图进行关联,以便在地图上显示和操作数据,通常有两种主要的方法:
1. bindlayerXY方式绑定:
这种方法是通过创建一个新的数据集(Dataset),然后将其与地图上的图层(Layer)绑定。在VBA代码中,首先需要创建一个`BindLayerObject`,设置其`LayerName`、`Filespec`、`RefColumn1`和`RefColumn2`等属性,分别代表图层名称、文件路径、X坐标列名和Y坐标列名。之后,通过`Map1.Datasets.Add`方法添加新的数据集,并指定数据源(DAO Recordset)、数据集类型(miDataSetDAO)以及图层的相关信息。以下是一个简单的代码示例:
```vba
Dim BindlayerObject As New mapxlib.BindLayer
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim ds As mapxlib.Dataset
Set db = DBEngine.Workspaces(0).OpenDatabase("C:\ProgramFiles\MapInfo\MapX4.0\Data\Mapstats.mdb")
Set rs = db.OpenRecordset("US_Cust")
' 设置BindLayerObject属性
BindlayerObject.LayerName = "eVB\T"
BindlayerObject.Filespec = App.Path & "\mytab.tab"
BindlayerObject.RefColumn1 = "X"
BindlayerObject.RefColumn2 = "Y"
BindlayerObject.LayerType = miBindLayerTypeXY
' 添加数据集到地图
Set ds = Map1.Datasets.Add(miDataSetDAO, rs, "pencƖT", "City", "State", BindlayerObject)
```
2. layerInfo新建表方式:
这种方法涉及到创建一个新的图层,并通过`layers.addlyrinfo`来定义图层信息。首先,你需要准备一个记录集(Recordset)作为数据源,然后通过`ds.rowvalues`获取数据,并利用`lyr.addfeature`方法添加特征到图层。在VBA代码中,这通常涉及到更多的数据处理步骤,例如创建和填充Recordset,然后通过`Map1.Layers.Add`方法添加新图层。以下是一个简化的代码片段:
```vba
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim flds As New MapXLib.FieldList
' 创建并填充Recordset...
' 添加图层信息
' lyr.addfeatureftr,rvskXeQVCQT^\'`
' 注意,这部分代码可能不完整,需要根据实际情况补充
' 添加图层到地图
Map1.Layers.Add LayerInfo, LayerName, Color, Symbol, Width, etc.
```
这两种方法都是为了将Access数据库中的数据与MapInfo地图集成,方便进行地理空间分析和展示。在实际应用中,开发者需要根据具体需求选择合适的方式,并对VBA代码进行适当的调整和优化。
137 浏览量
192 浏览量
195 浏览量
123 浏览量
120 浏览量
258 浏览量
2020-03-22 上传
771 浏览量
yupanpan714
- 粉丝: 1
- 资源: 8
最新资源
- BEM_github
- 生成艺术:越来越多的生成艺术项目集合
- fishcorecpe
- Turmoil
- 高斯白噪声matlab代码-project-finals:我的电子与通信工程学士学位的最终项目
- CentOS-7-x86_64-DVD-1503-01.zip
- 6DOF-case-of-sphere-falling.rar_fluent falling_fluent小球入水_入水模拟 F
- C/C++:符串排序.rar(含完整注释)
- allofplos:allofplos项目的存储库
- Tuesday
- DRIVE datasets.zip
- Sololearn_practice:sololearn网站上的python实践
- Tiny-E-Bike:小型自行车的开源硬件CAD
- Tubular
- 小狗:小狗为Nim获取HTML页面
- java《数据结构》教学辅助网站设计与实现毕业设计程序