Выборка в Standalone Table

0 голосов
спросил 17 Дек, 08 от Finich (260 баллов) в категории Программные продукты Esri
Необходимо произвести выборку в Standalone Table открытую из XLS файла. Пробовал с помощью QueryFilter:
   pQueryFilt.WhereClause = "индекс=111"
   pTableSel.SelectRows pQueryFilt, esriSelectionResultNew, False

ругается Autimation Error, хотя Select by Attributes (я так понимаю аналог QueryFilt) без проблем работает. Как быть ?

4 Ответы

0 голосов
ответил 17 Дек, 08 от Mitrich (13,680 баллов)
 pQueryFilt.WhereClause = "индекс=111"
может не хватает кавычек  pQueryFilt.WhereClause =  chr(34) & "индекс" & chr(34) & "=111"
0 голосов
ответил 17 Дек, 08 от Finich (260 баллов)
Пробовал и с кавычками и с апострофами. Вроде не ругается, а результат выделения нулевой.
Можно ли как нибудь подключить таблицу Excel программно (например через OLEDB)?
0 голосов
ответил 17 Дек, 08 от Mitrich (13,680 баллов)
так работает, но не подсвечивает выделенные записи в самой таблице
Dim pMxdoc As IMxDocument
Dim pmap As IMap
Set pMxdoc = ThisDocument
Set pmap = pMxdoc.FocusMap

Dim pStColl As IStandaloneTableCollection
Set pStColl = pmap
Dim pStTable As IStandaloneTable
Set pStTable = pStColl.StandaloneTable(0)

Dim pTableSel As ITableSelection
Set pTableSel = pStTable

Dim pTable As ITable
Set pTable = pStTable.Table



' Make the query filter
  Dim pQueryFilt As IQueryFilter
  Set pQueryFilt = New QueryFilter
 
 
  pQueryFilt.WhereClause = Chr(96) & "№ проекта" & Chr(96) & " = 4506"  '"POP1990 > 10000000"
 
  
 
  Dim pCursor As ICursor
  Set pCursor = pTable.Search(pQueryFilt, False)
  Dim pRow As IRow
  Set pRow = pCursor.NextRow
  Dim i As Long
  Do While Not pRow Is Nothing
  i = i + 1
  pTableSel.AddRow pRow
  Set pRow = pCursor.NextRow
  Loop
  pTableSel.SelectionChanged
 
  MsgBox i
 
0 голосов
ответил 17 Дек, 08 от Finich (260 баллов)
Большое спаисбо, всё работает
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...