2014-12-23 2 views
1

WhereClause를 사용하여 ArcGis에서 하나의 선택된 항목을 선택할 수 있습니다. 현재 여러 항목을 선택하고 이러한 선택된 항목으로 WhereClause를 작성하고 있습니다.WhereClause for ArcGis의 목록 상자에서 여러 개의 선택된 항목 사용

제 질문은 : 여러 항목으로 WhereClause를 작성하는 방법입니다. 또는; msgbox에 여러 개의 선택된 항목을 채우려면 어떻게해야합니까? multipleclause는 모든 항목을 사용할 때까지 반복 할 변수입니다. 이것은 가야

Dim count As Integer = 0 
    count = ListBox3.SelectedItems.Count 
    If count = 0 Then 
     MsgBox("Geen features geselecteerd") 

    ElseIf count = 1 Then 
     result = veld & "= '" & waarde & "'" 
     MsgBox(result) 

    Else 
     firstclause = veld & "= '" & waarde & "'" 
     For Each waarde In ListBox3.SelectedItems 
      Do Until waarde Is Nothing 
       multipleclause = " OR " & veld & "= '" & waarde & "'" 
      Loop 
     Next 

     result = firstclause & multipleclause 
     MsgBox(result) 

    End If 

답변

0

당신은

Dim count As Integer = 0 
count = ListBox3.SelectedItems.Count 
If count = 0 Then 
    MsgBox("Geen features geselecteerd") 

ElseIf count = 1 Then 
    result = veld & "= '" & waarde & "'" 
    MsgBox(result) 

Else 
    Dim sb as new System.Text.StringBuilder 
    dim bFirst as Boolean = True 
    For Each waarde In ListBox3.SelectedItems 
     if bFirst Then 
      bFirst = False 
     else 
      sb.append(" OR ") 
     End If 
     sb.Append(veld & "= '" & waarde & "'") 
    Next 

    result = sb.tostring 
    MsgBox(result) 

End If 
+0

감사를 시작했다! 코드가 작동합니다. 사용한 코드를 설명하는 링크가 있습니까? –

+0

당신이 한 일과 정말로 유일한 유일한 차이점은 여기에 설명되어있는 String Builder (선택 사항)를 사용한다는 것입니다. http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx 유일한 이유는 왜냐하면'a = a & b' 나'a & = b'보다 문자열을 연결하는 것이 훨씬 빠르기 때문입니다. – Steve