Определение цеха-изготовителя для ТМЦ из таблицы Транспортных отношений - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день, уважаемые! Имеется таблица с транспортными отношениями (ТО). Например, TRPROD. В этой таблице есть поля: Материал, Исходное местоположение (ИсхМПЛ), Целевое местоположение (ЦельМПЛ). Материалов может быть много и соответственно количество маршрутов так же очень много. В качестве местоположений служат склады и цеха в рамках предприятия\предприятий. Транспортное отношение – это некий маршрут, по которому может двигаться материал. Например, для материала «Кронштейн» указаны следующие строки в таблице TRPROD: Материал ИсхМПЛ ЦельМПЛ Кронштейн 45550102 45551953 Кронштейн 45551953 45550102 Кронштейн 45550102 45559999 Кронштейн 45559999 33332053 Кронштейн 33332053 33338765 Кронштейн 33338765 22227666 Кронштейн 22227666 23002902 Местоположение 45550102 является цехом-изготовителем материала «Кронштейн». А местоположение 23002902 является покупателем данного кронштейна. Все остальные местоположения являются складами внутри организаций (первые 4 символа обозначают номер организации). То есть, из таблицы TRPROD видно, по какому маршруту двигается деталь, пока она от момента зарождения дойдет до заказчика. При этом может быть так, что Кронштейн изготавливается в цехе 45550102 и передается на склад, а потом со склада обратно в этот же цех (45550102) и с этого цеха (без внесения конструкторских изменений в геометрию детали) передается на тот же или на другой склад. Ребята, помогите придумать алгоритм, как определить цех-изготовитель для этого материала (будем считать, что он не известен)? То есть, указав материал мне в Label1 нужно показать цех изготовитель. При этом, не известно, какой цех-изготовитель для данной детали. Но по таблице транспортных отношений можно найти путь, откуда начинает свое движение «Кронштейн». По какому алгоритму его вычислять. Мозг сломал, придумать не могу.
Можно использовать циклы и запросы.

Решение задачи: «Определение цеха-изготовителя для ТМЦ из таблицы Транспортных отношений»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Type typeTO
  4.     Material As String 'какой нафиг материал, кронштейн - это изделие (или фамилия)
  5.    IshMPL As String
  6.     ZelMPL As String
  7. End Type
  8.  
  9. Const m  As Integer = 100       ' количество материалов(изделий)
  10. Const countTO As Integer = 1000 ' количество движений(перемещений) каждого материала
  11. Dim Mat(1 To m, 1 To countTO) As typeTO
  12.  
  13. Private Sub Form_Load()
  14.      Dim S, i As Integer, j As Integer
  15.      i = 1 'поскольку материал пока один
  16.     S = Split(Trim(CStr(Text2.Text)), vbCrLf) 'получаем данные из текстбокса(Вы не указали откуда)
  17.     For j = 1 To UBound(S)
  18.          Mat(i, j).Material = Trim(CStr(Text1.Text))
  19.          Mat(i, j).IshMPL = Split(S(j - 1))(0)
  20.          Mat(i, j).ZelMPL = Split(S(j - 1))(1)
  21.      Next j
  22. End Sub
  23.  
  24. Private Sub Command1_Click()
  25.      Dim S As String, i As Integer
  26.      For i = 1 To m
  27.          If Mat(i, 1).Material = Trim(CStr(Text3.Text)) Then
  28.            S = Mat(i, 1).IshMPL
  29.            Exit For
  30.          End If
  31.      Next i
  32.      If S = "" Then S = " не найден."
  33.      MsgBox "Изготовитель материала """ & Text3.Text & """ - " & S
  34. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы