catan
路人甲
路人甲
  • 注册日期2004-09-10
  • 发帖数7
  • QQ
  • 铜币139枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1091回复:1

vb + max紧缩表 问题

楼主#
更多 发布于:2004-09-29 09:44
<P>Dim lyr As Layer
Dim ds As Dataset
Dim filespec As String
Dim layername As String
Set lyr = mfrmMain.Mapconl.Layers("yy")
Set ds = mfrmMain.Mapconl.DataSets.Add(6, lyr)
Dim LayerInfo As New LayerInfo
'获取被紧缩表的路径及表名
filespec = mfrmMain.Mapconl.Layers.Item("yy").filespec
layername = lyr.Name '将表临时存放于内存
Dim LayerInfoObject As New LayerInfo
LayerInfo.Type = 6 'miLayerInfoTypeTemp
LayerInfo.AddParameter "TableStorageType", "MemTable" '临时文件保存在磁盘上还是内存。
LayerInfo.AddParameter "Name", "lyrpack"
LayerInfo.AddParameter "Fields", ds.Fields
LayerInfo.AddParameter "Features", lyr.AllFeatures
mfrmMain.Mapconl.Layers.Add LayerInfo, 1
Set LayerInfo = Nothing
'从地图窗口删除原表
mfrmMain.Mapconl.DataSets.Remove (ds.Name)
mfrmMain.Mapconl.Layers.Remove (lyr.Name)
mfrmMain.Mapconl.Refresh
Set lyr = Nothing
Set ds = Nothing
Set lyr = mfrmMain.Mapconl.Layers("lyrpack")
Set ds = mfrmMain.Mapconl.DataSets.Add(6, lyr)
'从磁盘删除原表
Kill filespec</P>
<P>LayerInfo.Type = 7 'miLayerInfoTypeNewTab
LayerInfo.AddParameter "filespec", filespec
LayerInfo.AddParameter "Name", layername
LayerInfo.AddParameter "Fields", ds.Fields
LayerInfo.AddParameter "Features", lyr.AllFeatures
mfrmMain.Mapconl.Layers.Add LayerInfo, 1</P>
<P>'从地图窗口删除临时表
mfrmMain.Mapconl.DataSets.Remove (ds.Name)
mfrmMain.Mapconl.Layers.Remove (lyr.Name)
mfrmMain.Mapconl.Refresh
'注意:
Set ds = Nothing
Set lyr = Nothing
Set LayerInfo = Nothing为什么我的程序在执行时,提示我yy图曾已经打开不能创建???</P>
<P>请教高人</P>
喜欢0 评分0
游客

返回顶部