wuhanpl
路人甲
路人甲
  • 注册日期2006-05-06
  • 发帖数20
  • QQ
  • 铜币340枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1470回复:0

关于查询的问题请高手帮帮忙!!!

楼主#
更多 发布于:2006-08-28 20:20
<P>      用的是MapInfo数据表绑定到图层,其中数据表中有3个字段,分别为Feature_ID(Integer型)自动生成的数值,NAME(character型)地点名其中字段值用的是中文地名,PYNAME(character型)地点别名其中字段值用的是英文地名。程序段如下:</P>
<P>            Set findLayer = frmMain.mpMain.Layers.Item("县级市点层")<BR>            Set ds = frmMain.mpMain.DataSets.Add(miDataSetLayer, findLayer)<BR>            Set findLayer.Find.FindDataset = ds<BR>            Set findLayer.Find.FindField = ds.fields("NAME")<BR>            Set FoundObj = findLayer.Find.Search(txtFind.Text)<BR>            ‘txtFind.text是输入查找地点名字的文本框<BR>           </P>
<P>            If FoundObj.FindRC Mod 10 = 1 Then<BR>                frmMain.mpMain.Zoom = 100<BR>                frmMain.mpMain.CenterX = FoundObj.CenterX<BR>                frmMain.mpMain.CenterY = FoundObj.CenterY<BR>            <BR>                findLayer.Selection.Replace FoundObj<BR>            Else<BR>                MsgBox "没有精确匹配对象"<BR>                Set findLayer.Find.FindDataset = Nothing<BR>                Set findLayer.Find.FindField = Nothing</P>
<P>执行上面程序出现下面错误:</P>
<P><FONT color=#ff3300>"实时错误’-2147417848(80010108)‘</FONT></P>
<P><FONT color=#ff3300>对象’Search‘的方法’CMapXLayerFind‘失败"</FONT></P>
<P>如果把Set findLayer.Find.FindField = ds.fields("NAME")中的"NAME"换成"Feature_ID"和"PYNAME"都可以运行,就是当为“NAME”时输入中文地名时出现上述错误,本人调试了很久也没成功,想请那位高手能不能帮助解决。我不知道是不是与输入法有关还是其他原因,本人用的VB6.0是中文版,MAPX5.0是英文版。如有表述不清楚的地方请大家指出。<BR></P>
喜欢0 评分0
游客

返回顶部