Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 42

Связи: человек1 связан с человек2, --в свою очередь человек2 связан с человек3

20.07.2016, 14:27. Показов 1349. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребятки всем доброго времени суток.

Вопрос в следующем.
--Есть бд со связями (пример во вложении).

Как можно осуществить следующее: вывод всех связных людей по запросу.
--Если человек1 связан с человек2,
--в свою очередь человек2 связан с человек3, то в итоге при запросе связей у человек1 в списке должны отобразится как человек2, так и человек3. (т.е. если люди связаны через нескольких посредников, то они связаны и друг с другом)
Вложения
Тип файла: rar 1234.rar (14.7 Кб, 14 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2016, 14:27
Ответы с готовыми решениями:

С чем связан запрос?
Здравствуйте! У меня такая ситуациия. В своей базе накопал созданные когда-то запросы, но со временем не помню зачем они сделаны. Вопрос,...

Как создать запрос в Access ! Связан с юбилеем сотрудников
Нужно создать запрос который выводит сотрудников у которых юбилей в этом месяце. Если что берем вот как называется таблица SELECT * FROM...

С чем связан баг
Просиходит следующее: при попытке исполнения проэкта в среде D2009 выбивает ран-тайм ошибку: "компонент TPanel ненайден". ...

9
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.07.2016, 20:28
При такой постановке вопроса мало шансов получить ответ. Нет сведений о типе связей, хотя бы описательно. Не ясно какие связи могут быть, какой граф они порождают. Что это дерево, лес, специфический граф, нейронная сеть? Я не думаю, что есть универсальный и к тому же эффективный метод построения любой сети по данным парных связей. Слишком разнятся свойства, чтобы можно было легко свести в один метод.

Угадать тип связей по Вашему примеру просто невозможно по двум записям. Если бы Вы привели пример на реальных данных и показали, что в должно получиться в результате, то можно было бы попробовать
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
22.07.2016, 04:16
Лучший ответ Сообщение было отмечено Людовик как решение

Решение

О, наконец-то развлечение! *потирает лапки*

Выполнить запрос "очистка", затем по 1 разу запросы 1 и 1а,
затем запросы 2 и 2а выполнять по очереди до тех пор, пока оба они, выполненные подряд, не скажут, что "измненено 0 записей".

После этого в поле тмп таблицы таб будут перечислены через ; номера всех чуваков, с которыми связан данный чувак. При условии, что перечисление займет не больше 255 символов
Вложения
Тип файла: rar 1234.rar (39.2 Кб, 3 просмотров)
2
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
22.07.2016, 04:19
Цитата Сообщение от mobile Посмотреть сообщение
Я не думаю, что есть универсальный и к тому же эффективный метод построения любой сети по данным парных связей.
+100500.
1
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 42
22.07.2016, 11:08  [ТС]
mobile, согласна, мало данных даю. Сама просто в графах не разбираюсь. Пыталась как то делать связный граф, но он не дает полного ответа.

Добавлено через 33 секунды
texnik-san, Спасибо огромное, то что вы предложили на данный момент и в данной ситуации идеально
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
22.07.2016, 11:24
Лучший ответ Сообщение было отмечено Людовик как решение

Решение

Ну тогда и я дам решение :-). С дополнительной таблицей, а не полем. Смотрите форму Form1 и процедуру AddLinked в Module1.
Вложения
Тип файла: rar 1234Linked.rar (28.1 Кб, 6 просмотров)
2
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 42
22.07.2016, 18:09  [ТС]
mobile, шикарное решение проблемы!!! Слов благодарности у меня не хватит
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.07.2016, 09:39
Лучший ответ Сообщение было отмечено Людовик как решение

Решение

Должен признаться, что решение texnik-san значительно быстрее моего. Поэтому создал процедуру выполняющую алгоритм texnik-san плюс перенос данных в таблицу попарных связей tblLinked. В форме, по нажатию кнопки "Обновить все связи" выполняется процедура TehnikSunAlgorithm.
Вложения
Тип файла: rar 1234Linked.rar (35.7 Кб, 7 просмотров)
2
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
23.07.2016, 10:55
Ой А я еще не успела даже просмотреть ваше решение

Зато, пока в фоновом режиме думала над задачей, пришло в голову, что нет необходиомсти хранить полный список всех ID всех, кто связан с даным человеком. Достаточно хранить один, минимальный.

Связанные между собой люди образуют закрытый кластер. Кластер однозначно характеризуемтся минимальным элементом.

Если в процессе перебора обнаружатся связанные между собой люди с разными номерами кластеров - кластеры нужно просто объединить (заменить бОльший номер на меньший).

Рализовать пока не успела
1
1318 / 536 / 112
Регистрация: 29.03.2016
Сообщений: 1,293
24.07.2016, 01:01
Лучший ответ Сообщение было отмечено Людовик как решение

Решение

Для коллекции:
Вложения
Тип файла: zip 1234_recursive.zip (22.6 Кб, 9 просмотров)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.07.2016, 01:01
Помогаю со студенческими работами здесь

WMI & C++ (связан и с делфи)
Уважаемые программисты! Очень нужна помощь! Я никак не могу найти кроме мсдн примера использования ВМИ в С++, мсдн вариант у меня эррорит и...

Вирус связан с командной строкой
Здравствуйте,смотрел сериалы,играл и заметил,что через каждые 1 час на 2 сек открывается CMD и закрывается.Когда сижу в играх она их...

char_t и как он связан с оперативкой?
#include <stdio.h> #include <stdlib.h> struct stack { char data; struct stack* next; }; struct stack*...

С чем именно связан поток stdin?
Всем привет. Интересует каким образом организован стандартный ввод и вывод: при запуске программы написанной на C/C++ автоматически...

Ощибка связан с ADO, я так думаю)))
Создал программу через ADO, работает прекрасно с любой директорий. Но когда запускаю в другой компе выходит ощибка :Exception...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru