У меня есть подразделение, которое состоит из нескольких частей. У меня есть одна таблица для каждой части, которая выглядит примерно так:
Part#ID PartBarcode BuildDate comments
------ ----------- --------- --------
## someBC datetime string
## someBC datetime string
## someBC datetime string
....
У меня есть 3 таблицы выше
Тогда у меня есть одна таблица подразделов, которая выглядит следующим образом:
PartID PartSubBarcode1 PartSubBarcode1 PartSubBarcode1 BuildDate comments
(project code) (intraproject S/N) (Antenna presence)
------ --------------- --------------- --------------- --------- --------
## ABC 123 Z Datetime string
## ABC 124 X Datetime string
## ABC 125 Z Datetime string
Редактировать: каждая из частей штрих-кода представляет физические / проектные атрибуты.
Когда все они собраны, и у меня есть таблица с составными частями
AssembledUnitID Part1ID Part2ID Part3ID Part4ID ActiveState
--------------- ------- ------- ------- ------- -----------
## ## ## ## ## true
## ## ## ## ## false
## ## ## ## ## true
...
Я хочу создать таблицу, в которой будут иметься штрих-коды всех частей в активных собранных единицах. Дополнительный улов заключается в том, что из-за того, что у меня есть 1 подраздел с штрих-кодом, фактически разбитым на несколько столбцов, мне нужен какой-то способ объединения компонентов в одну строку, чтобы пользователь мог видеть (или не очень ... не слишком большое дело).
Part1BC Part1BuildDate Part2BC Part2BuildDate ...
------- -------------- ------- --------------
Конечной игрой здесь является заполнение объекта datagridview в WinForm в C # .NET, чтобы пользователь мог перемещаться и видеть состояние инвентаря. Было бы неплохо, чтобы это был один оператор SQL, заполняющий эту таблицу. Краткость кода на самом деле не важна, если конечный результат один и тот же.
Мои навыки начинающего SQL в сочетании с чтением сообщений на форуме и поддержкой документации действительно заставляют меня вращаться. Я пробовал разные операторы SELECT, но, похоже, ни одно из них не помогло мне.
Дополнительная информация:
Я делаю winform с представлением сетки данных в C # .NET
Я подключаюсь к базе данных Access 2007 .mdb. Я храню свои запросы в моем решении C # в файле .xsd.
Нужна дополнительная информация?
EDIT:
Сделал это! Вот что я сделал, чтобы решить эту проблему!
В конструкторе C # .xsd я создал новый DataTable. Через адаптер таблицы таблицы данных я создал запрос с текстом, подобным этому:
SELECT
UnitBarcodes.GroupID + UnitBarcodes.Version
+ UnitBarcodes.SubSerial + UnitBarcodes.AntennaStatus AS [Unit Barcode],
Subpart1.Barcode AS [part1 Board Barcode],
Subpart2.Barcode AS [part2 Board Barcode],
Subpart3.Barcode AS [part3 Board Barcode],
AssembledUnits.DateAssembled AS [Date Assembled],
Subpart1.OnBoardBuildDate AS [Firmware Build Date] FROM ((((MainBoards INNER JOIN
AssembledUnits ON Subpart1.ID = AssembledUnits.Subpart1ID)
INNER JOIN
UnitBarcodes ON AssembledUnits.UnitBarcodesID = UnitBarcodes.ID)
INNER JOIN
Subpart2 ON AssembledUnits.Subpart2ID = Subpart2.ID)
INNER JOIN
Subpart3 ON AssembledUnits.Subpart3ID = Subpart3.ID)
WHERE (AssembledUnits.ActiveState = ?) AND (AssembledUnits.DateAssembled > ?)
Как только я заполняю таблицу данных, я установил
bindingSource1.DataSource=
dataGridView2.AutoResizeColumns();
(перед вызовом запроса я также установил 'dataGridView2.AutoGenerateColumns = true;' и, конечно, создал объект dataGridView2 в моей форме)
и вуаля! Оно работает! Какой опыт обучения (и намного проще, чем я думал)