1 (edited by Godless 2023-04-28 07:58:21)

Topic: Постройка таблицы с пересеченным встречей признака

Всем привет.
Реально ли как то реализовать вывод в грид ( или отчет) следующую информацию.
Имеется список номенклатуры с разными полями. В каждой номенклатуре есть два важных поля - "тип" и "номер склада".
К примеру "клавиатура" ( тип комбоксом) числятся на складах "1" и "3".
Теперь строим сетку. Колонки это номера складов, а строки это типы номенклатуры.
И надо заполнить такую табличку по типологии размещения. К примеру, пересечение "клавитуры" и склады 1 и 2, клеточка закрасилась, или как то пометилась любым знаком.
Вот такая заковырка))) Есть мысли у кого нить как реализовать?) И возможно ли вообще?

Post's attachments

Attachment icon test.zip 325.89 kb, 107 downloads since 2023-04-28 

Re: Постройка таблицы с пересеченным встречей признака

Возможно. Для начала составить запрос SQL и вывести его в TableGrid. Потом Обработать Grid скриптом для придания ему ножного оформления. Без структуры БД составление запроса - как гадание на кофейной гуще.

Re: Постройка таблицы с пересеченным встречей признака

Извиняюсь, что сразу не прикрепил. Вот пример

4 (edited by k245 2023-04-28 09:20:45)

Re: Постройка таблицы с пересеченным встречей признака

А где третья таблица? В которой хранятся пересечения? 
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=9397&download=0

Структура данных у вас неверная, нужно три таблицы:
1. Справочник того, что отображается по столбцам
2. Справочник того, что отображается по строкам
3. Данные о том, что хранится в пересечении.

Общий алгоритм построения кросс-таблиц такой:
1. Первым запросом определяем, какие нужно отображать колонки
2. Создаем скриптом таблицу с нужным числом колонок
3. Вторым запросом определяем, что отображается в строках (в первой колонке)
4. Скриптом добавляем данные в таблицу
5. Третьим запросом выбираем данные для вставки в пересечение ячеек.
6. Скриптом вставляем данные в ячейки.

http://myvisualdatabase.com/forum/viewt … 568#p46568

Post's attachments

Attachment icon изображение_2023-04-28_121158123.png 15.48 kb, 65 downloads since 2023-04-28 

Визуальное программирование: блог и телеграм-канал.

5 (edited by Godless 2023-04-28 09:41:52)

Re: Постройка таблицы с пересеченным встречей признака

МММ...я понял, вроде бы...

Подправил на три таблицы и перезанес данные. А вот с запросами я не силен( (

Вот такой эффект нужен

https://i.ibb.co/qFb9C2Q/image.jpg

Post's attachments

Attachment icon test.zip 326.3 kb, 105 downloads since 2023-04-28 

6 (edited by pavlenko.vladimir.v 2023-04-28 10:16:23)

Re: Постройка таблицы с пересеченным встречей признака

Godless wrote:

МММ...я понял, вроде бы...

Подправил на три таблицы и перезанес данные. А вот с запросами я не силен( (

ну можно так
https://fileworld.pavlenkovv.ru/img/2023-04-28_15-08-37.png

Post's attachments

Attachment icon test.rar 5.35 kb, 104 downloads since 2023-04-28 

Re: Постройка таблицы с пересеченным встречей признака

pavlenko.vladimir.v wrote:
Godless wrote:

МММ...я понял, вроде бы...

Подправил на три таблицы и перезанес данные. А вот с запросами я не силен( (

ну можно так
https://fileworld.pavlenkovv.ru/img/2023-04-28_15-08-37.png

А если завтра складов станет четыре?  )))

Визуальное программирование: блог и телеграм-канал.

Re: Постройка таблицы с пересеченным встречей признака

k245 wrote:

А если завтра складов станет четыре?  )))

Вы сомневаетесь )))))))))))

Теперь можно даже имена складам выдавать..
https://fileworld.pavlenkovv.ru/img/2023-04-28_16-59-11.png

Post's attachments

Attachment icon dinamic_sklad.rar 6.34 kb, 127 downloads since 2023-04-28 

Re: Постройка таблицы с пересеченным встречей признака

https://fkr45.ru/UserFiles/news/201908/30/Original/exam.png

Визуальное программирование: блог и телеграм-канал.

Re: Постройка таблицы с пересеченным встречей признака

pavlenko.vladimir.v wrote:

Теперь можно даже имена складам выдавать..

Impressive vladimir!  Thank you for this example.

"Energy and persistence conquer all things."

Re: Постройка таблицы с пересеченным встречей признака

Спасибо за пример. Но не то sad  Если посмотрите на фотку выше, тип не дублируется, а объединяется в одну строчку. Список с пересечением нужен для контроля наличия. На один склад не может быть больше 1 единицы типа. А вот какая модель - уже можно спокойно посмотреть в общей таблице, которая сделана в проекте.
Поэтому нужна сводная что тип клавиатура числится на 2 и 3 складах. А значит нужно завезти на 1 еще.

12 (edited by pavlenko.vladimir.v 2023-04-29 18:13:50)

Re: Постройка таблицы с пересеченным встречей признака

Godless wrote:

Спасибо за пример. Но не то sad  Если посмотрите на фотку выше, тип не дублируется, а объединяется в одну строчку. Список с пересечением нужен для контроля наличия. На один склад не может быть больше 1 единицы типа. А вот какая модель - уже можно спокойно посмотреть в общей таблице, которая сделана в проекте.
Поэтому нужна сводная что тип клавиатура числится на 2 и 3 складах. А значит нужно завезти на 1 еще.

Изучайте
https://fileworld.pavlenkovv.ru/img/2023-04-29_23-10-14.png

Post's attachments

Attachment icon test2.rar 6.29 kb, 109 downloads since 2023-04-29 

13 (edited by Godless 2023-06-07 03:49:22)

Re: Постройка таблицы с пересеченным встречей признака

Спасибо, за  примеры, ребят. Но например, если добавить Печеньки на малый склад еще, то мы не получим зарисованную ячейку.
Нашел , вроде бы способом через PIVOT, но в МВДБ он его не хочет переваривать (
Типа вот так. Пока без динамического склада
SELECT *
FROM (
  SELECT storage, Typ, COUNT(*) AS ProductCount
  FROM Products
  GROUP BY storage, Typ
) AS PivotData
PIVOT (
  MAX(ProductCount)
  FOR storage IN (LA, NY)
) AS PivotTable;

Post's attachments

Attachment icon Testtstst.7z 274.15 kb, 104 downloads since 2023-06-07 

Re: Постройка таблицы с пересеченным встречей признака

Godless wrote:

Спасибо, за  примеры, ребят. Но например, если добавить Печеньки на малый склад еще, то мы не получим зарисованную ячейку.

теперь?

Post's attachments

Attachment icon test.rar 6.49 kb, 95 downloads since 2023-06-07 

Re: Постройка таблицы с пересеченным встречей признака

Супер! Спасибо, Владимир )