hahahan
路人甲
路人甲
  • 注册日期2007-08-05
  • 发帖数60
  • QQ
  • 铜币251枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1865回复:3

VBA编程如何调用现有 ISQLQueryDialog?

楼主#
更多 发布于:2008-06-18 02:30
<P>诚心求教! </P>
<P>ISQLQueryDialog貌似还要与某个layer关联吧?</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2008-06-19 09:55
调用根据属性查询的菜单就可以吧?<br>你可以在vba环境里的arcid里找该菜单的id<br>
举报 回复(0) 喜欢(0)     评分
hahahan
路人甲
路人甲
  • 注册日期2007-08-05
  • 发帖数60
  • QQ
  • 铜币251枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2008-06-20 23:54
<P>谢谢啊!  不过我只是想用那个  <STRONG>SQLQueryDialog  框。  呵呵……  </STRONG></P>
举报 回复(0) 喜欢(0)     评分
hahahan
路人甲
路人甲
  • 注册日期2007-08-05
  • 发帖数60
  • QQ
  • 铜币251枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2008-06-22 15:54
<P>多谢 gis 的指导啊! 看来什么事情都得自己尝试一下才知道行不行。  </P>
<P>摸索了好久,根据帮助里关于 IGetStringDialog 的例子,仿写出了SQLQueryDialog。代码如下:</P>
<P>=======================================================================</P>
<P>Private Sub SQLbutton_Click()</P>
<P>  Dim pmdocu As IMxDocument<BR>  Dim pmap As IMap<BR>  Dim pfeaturelayer As IFeatureLayer<BR>  Dim pfeatureclass As IFeatureClass</P>
<P>  Set pmdocu = ThisDocument<BR>  Set pmap = pmdocu.FocusMap<BR>  Set pfeaturelayer = pmap.Layer(1)<BR>  Set pfeatureclass = pfeaturelayer.FeatureClass<BR>     <BR>  Dim pGetStrDlg As ISQLQueryDialog<BR>  Dim boolOK As Boolean<BR>  Set pGetStrDlg = New SQLQueryDialog<BR>  boolOK = pGetStrDlg.DoModal("", pfeatureclass, Application.hWnd)<BR>  If boolOK Then<BR>    MsgBox pGetStrDlg.SQLQuery<BR>  Else<BR>    MsgBox "Cancelled."<BR>  End If<BR>End Sub</P>
<P>===============================================================</P>
<P>各位自己添加错误处理啊。那个 pGetStrDlg.SQLQuery 就是编程中各位想得到的结果。呵呵……</P>
<P>再次感谢 gis 的指导。<BR></P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部