Тема: Обработка полученных результатов поиска

Передо мной стоит задача, которую я никак не могу решить.
Мне надо проделать с результатом математические действия. Но для этого надо получить результат в наглядной форме.
К примеру он находит ДЕТАЛЬ №1. Нужно чтобы количество  деталей №1  всегда попадало строго в TextBox 1, а затем разложить эту деталь на составляющие и вставить результат в TextBox 2 и TextBox 3. Примерная схема:
ПОИСК –> ДЕТАЛЬ №1 : 2ШТ (всегда в TextBox 1) –> БОЛТОВ : 4ШТ
(всегда в  TextBox 2),  ГАЕК : 2ШТ (всегда в TextBox 1)
            –> ДЕТАЛЬ №2 : 2ШТ (всегда в TextBox 3)  -  БОЛТОВ : 4ШТ (всегда в TextBox 4),
ГАЕК : 2ШТ (всегда в TextBox 5)
            –> ДЕТАЛЬ №3 : 2ШТ (всегда в TextBox 6)  -  БОЛТОВ : 4ШТ (всегда в TextBox 7),
ГАЕК : 2ШТ (всегда в TextBox 8)
И Т.Д. И Т.П.
Можно ли решить эту задачу???
Option Explicit
Option Base 0
Public Type typRes
  sName As String
  lRange As Long
End Type
Private Sub CommandButton2_Click()
  Dim layerObj As AcadLayer
  Set layerObj = ThisDrawing.Layers.Add("10кВ")
  layerObj.Freeze = True
Call CountBlockWithNames
End Sub
Public Sub CountBlockWithNames()
Dim oSelSet As AcadSelectionSet, SelSetName As String
Dim fType(0) As Integer, fData(0) As Variant
Dim oAcadEnt As AcadEntity
Dim Result() As typRes, lCounter As Long, AddNew As Boolean
Unload Me
  SelSetName = "bc"
  For Each oSelSet In ThisDrawing.SelectionSets
    If oSelSet.Name = SelSetName Then
      oSelSet.Delete
      Exit For
    End If
  Next oSelSet
  Set oSelSet = ThisDrawing.SelectionSets.Add(SelSetName)
  fType(0) = 0: fData(0) = "INSERT"
  oSelSet.SelectOnScreen fType, fData
  For Each oAcadEnt In oSelSet
    On Error GoTo lErrorReDim
    If UBound(Result) < 0 Then
      ReDim Result(0)
      'On Error GoTo 0
      Result(0).sName = oAcadEnt.Name
      Result(0).lRange = 1
    Else
      AddNew = True
      For lCounter = 0 To UBound(Result)
        If Result(lCounter).sName = oAcadEnt.Name Then
          Result(lCounter).lRange = Result(lCounter).lRange + 1
          AddNew = False
          Exit For
        End If
      Next lCounter
      If AddNew Then
        ReDim Preserve Result(UBound(Result) + 1)
        Result(UBound(Result)).sName = oAcadEnt.Name
        Result(UBound(Result)).lRange = 1
      End If
    End If
  Next oAcadEnt
  oSelSet.Delete
  ' Сервисная часть — показать MsgBox
  Dim MessageString As String
  For lCounter = 0 To UBound(Result)
    If MessageString = "" Then
      MessageString = Result(lCounter).sName & " : " & CStr(Result(lCounter).lRange)
    Else
      MessageString = MessageString & vbCrLf & _
        Result(lCounter).sName & " : " & CStr(Result(lCounter).lRange)
    End If
    UserForm5.Show
  Next lCounter
     MsgBox MessageString
  Exit Sub
lErrorReDim:
  ReDim Result(0)
  Err.Clear
  Resume Next
End Sub

Re: Обработка полученных результатов поиска

У меня смутные подозрения, что надо использовать нечто из разряда MSFlexGrid...

Re: Обработка полученных результатов поиска

Я плохо разбираюсь в VBA...Может подскажите как это можно сделать.
У меня много деталей в чертеже, а каждая деталь состоит из разного количества составляющих.
Сначало надо найти детали, потом разделить их на составляющие, а потом сложить эти составляющие по видам. К примеру:
1 деталь имеет 5 болтов, 6 гаек и т.п.
2 деталь имеет 10 болтов, 15 гаек и т.п.
В итоге получается 15 болтов и 21 гайка.
Или может у Вас есть ссылки на самоучители по VBA. Как можно это сделать. Справка написана на английском языке,а я не совсем понимаю его...Да в инете очень мало информации по VBA. Книг VBA для среды AutoCAD
тоже нельзя найти на прилавках.

Re: Обработка полученных результатов поиска

> Дарья
Я плохо разбираюсь в VBA...
Не вдаваясь в приведенный код...
Мне кажется, что на уровне получения советов такую задачу (или такие задачи) не решить. Надо овладеть техникой программирования, например, на VBA, надо знать работу с базами данных, надо знать AutoCAD на уровне программиста ...  и неизвестно что еще.
Если вас не пугает такая перспектива, то  выслаю "Руководство по VBA for AutoCAD" на русском языке.
Успехов!

Re: Обработка полученных результатов поиска

А вы не могли бы повторно выслать "Руководство по VBA for AutoCAD". Произошла ошибка снаписанием моего мыла
Darya_X83@mail.ru
Заранее СПАСИБО ВАМ!