День добрый.
есть таблица атрибутов, к которой приджойнена другая таблица
table1.field1 table1.field2 table1.fieldID table2.fieldID table2.field1 ...
и есть код, который должен экспортить выбранные в этой таблице записи в Excel
проблема в том, что экспортит он только поля родной таблицы, приджойненных полей не видит. Вопрос - что нужно исправить-изменить для экспорта всех полей, включая приджойненные.
(код написан на основе esri - примера Tables\Copy rows from a table
clscopy_table_sel.cls)
....
Dim pInSelSet As ISelectionSet
Dim pTable As ITable
Dim pCur As ICursor
Dim pRow As IRowBuffer
Dim pFlds As IFields
Dim pFld As IField
Dim iFieldCount As Integer
Dim iind As Integer
Dim strR As String
Dim iRowCount As Integer
' ------- Çàïóñêàåì MS Excel ---------------
...
'----------------------------
Set pInSelSet = pTableView.SelectionSet
Set pTable = pTableView.Table
pInSelSet.Search Nothing, False, pCur
Set pRow = pCur.NextRow
Set pFlds = pRow.Fields
iFieldCount = pFlds.FieldCount
iRowCount = 0
'-- ïèøåì íàçâàíèÿ ïîëåé --------
For iind = 0 To iFieldCount - 1
Set pFld = pFlds.Field(iind)
objXLApp.Cells(iRowCount + 1, iind + 1).Value = pFld.Name
objXLApp.Cells(iRowCount + 1, iind + 1).Font.Bold = True
Next iind
iRowCount = iRowCount + 1
'-- экспортим записи --------------------------------
Do Until pRow Is Nothing
For iind = 0 To iFieldCount - 1
If Not TypeOf pRow.Value(iind) Is IGeometry Then
'------ ïèøåì ÿ÷åéêó â Åêñåë
objXLApp.Cells(iRowCount + 1, iind + 1).Value = pRow.Value(iind)
Else
objXLApp.Cells(iRowCount + 1, iind + 1).Value = "(Shape)"
End If
Next iind
Set pRow = pCur.NextRow
iRowCount = iRowCount + 1
Loop
.....