阅读:2047回复:3
VBA编程如何调用现有 ISQLQueryDialog?
<P>诚心求教! </P>
<P>ISQLQueryDialog貌似还要与某个layer关联吧?</P> |
|
1楼#
发布于: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> |
|
2楼#
发布于:2008-06-20 23:54
<P>谢谢啊! 不过我只是想用那个 <STRONG>SQLQueryDialog 框。 呵呵…… </STRONG></P>
|
|
3楼#
发布于:2008-06-19 09:55
调用根据属性查询的菜单就可以吧?<br>你可以在vba环境里的arcid里找该菜单的id<br>
|
|
|