下面代码肯定可以的:
Dim ftrs As Features
    Dim searchlayer As Layer
    Dim searchdataset As Dataset
    
    Set searchlayer = Map1.Layers("搜索图层")
    Set searchdataset = Map1.Datasets.Add(miDataSetLayer, searchlayer)
    
    Set ftrs = searchlayer.Search(searchdataset.Fields(1).name & " like ""%" & 搜索关键字 & "%""")
    If ftrs.count = 0 Then
        MsgBox "没有您查找的地方!"
    Else
        Dim i As Integer
        For i = 1 To ftrs.count
            list1.AddItem ftrs.Item(i).name
        Next
    End If

解决方案 »

  1.   

    出问题的话,就是你的引号数目不对,我写的代码中的引号数目是正好的
    其中搜索关键字是一个字串变量,searchdataset.Fields(1).name 是图层数据对应的字段变量名
      

  2.   

    瓜棚下,Layer object 不会有search方法的。编译提示出错,对象不支持该方法。
    急,急,急,快告诉我为什么?
      

  3.   

    GIS用VB 做?  有沒有搞錯?
      

  4.   

    有的,我们的GPS正在运行,就是这段代码,我的email:
    [email protected]