Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Структура проекта, как в MS Project / 14 сообщений из 14, страница 1 из 1
08.10.2018, 23:08
    #39714705
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Есть необходимость вести планирование задач, подобно тому как это реализовано в MS Project.
Т.е. имеем Задачу 1, которая начинается 01.01.2019 и выполняется 10 дней. После нее имеем Задачу 2, которая начинается после окончания Задачи 1 и длится 5 дней. Потом появляется Задача 3, которая должна быть сделана после Задачи 1 и до Задачи 2. Соответственно, начало Задачи 2 должно сдвинутся на длительность Задачи 3, а сама Задача 3 должна принять датой начала дату окончания Задачи 1.
В MS Project это происходит автоматически, путем вставки Задачи 3 между задачами 1 и 2.
В Экселе это тоже легко делается, путем ссылок на другие ячейки.

Как это автоматизировать в MSA?
Как ссылаться на другие записи, чтобы учитывать все предыдущие по времени и сдвигать все последующие?
...
Рейтинг: 0 / 0
08.10.2018, 23:26
    #39714710
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
По значению первичного ключа.
...
Рейтинг: 0 / 0
08.10.2018, 23:43
    #39714712
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Predeclared,

Т.е. они по порядку должны идти? 1,2,3...?
В моем примере получается 1,3,2. Уже не по порядку.
Или вы о другом?
Мне бы пример БД увидеть.
...
Рейтинг: 0 / 0
08.10.2018, 23:55
    #39714713
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Так, например:
...
Рейтинг: 0 / 0
09.10.2018, 00:56
    #39714716
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
У Задачи 1 подчиненные 2 и 3
У Задачи 3 - 2
и т.д.?
Правильно мыслю?
Пока дальше ступор.
Поясните, пожалуйста, более развернуто.
...
Рейтинг: 0 / 0
09.10.2018, 12:31
    #39714859
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Попробую еще раз описать свой пример. Возможно, вы о вложенности одной задачи в другую говорите. А я не о том.

Есть задачи 1-5.
Дата начала Задачи 1 задается вручную.
Длительность всех задач - тоже вручную.
Дата окончания рассчитывается автоматически по формуле (дата начала + длительность).
Дата начала всех последующих задач тоже рассчитывается автоматически (это дата окончания предыдущей задачи, т.е. из другой записи).

Никаких подзадач не будет. Просто одна за другой (1,2,3,4,5...)

Далее, например, я решаю, что Задача 4 и 2 должны поменяться местами.
В Экселе, например, достаточно физически поменять эти строки местами и все остальное пересчитается автоматом. Т.е. порядковый номер можно даже не указывать - само положение в списке указывает каждой строке ее порядковый номер.
В Аксессе, насколько я понял, нельзя использовать порядковый номер записи в таблице и ссылаться на него. Или можно?
Если нельзя, то получается, что надо отдельно присваивать порядковый номер (ключ) каждой записи. Так?
А затем в каждой последующей Задаче я должен сослаться на порядковый номер предыдущей? Если я меняю Задачи 4 и 2 местами, то мне надо в Задаче 2 поменять предшественника на 3, в Задаче 3 - на 4, 4 - на 1, 5 - на 2?
Только это автоматизированно должно происходить. Т.е. нужен какой-то скрипт.
А еще лучше, если это будет наглядно графически происходить. Чтобы все задачи выгружались в отдельное окно списком по порядку и, перетаскивая мышкой, их можно было бы менять местами, как в Экселе.
Правильное направление?
...
Рейтинг: 0 / 0
09.10.2018, 22:09
    #39715194
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Мишая,

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

Сам не пробовал, пока этот совет пришел, задача отпала.
...
Рейтинг: 0 / 0
10.10.2018, 13:12
    #39715527
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Игортан,

Спасибо, попробую порыть в этом направлении. Насколько помню, у Проджекта файл mpp, в нем и должно все храниться. Вряд ли БД будет в отдельном файле. Ведь чтоб скопировать проект на другой комп, достаточно одного файла проекта.
Проджекта у меня нет. Дистрибутива тоже. Зашел на сайт MS скачать пробную версию и так и не нашел. Нажал "Попробовать пробную версию", зарегистрировался, а дальше блуждал минут 15 по бесконечным страницам. Пока оставил. Может есть у кого ссылка?
...
Рейтинг: 0 / 0
10.10.2018, 13:22
    #39715533
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
Predeclared,

Ув. Predeclared, вы мне хоть намекните, я в правильном направлении двигаюсь или в принципе не понял сути вашего примера.
...
Рейтинг: 0 / 0
10.10.2018, 13:31
    #39715543
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
МишаяВ Аксессе, насколько я понял, нельзя использовать порядковый номер записи в таблице и ссылаться на него. Или можно?Нельзя. По весьма прозаической причине - его не существует. Это средство отображения тебе его добавляет, для наглядности типа.

По сути тебе необходим связный список, для которого определена операция перемещения узла. Более расширенной версией толкования такой структуры является дерево, с ограничением, что узел не может иметь более одного дочернего узла.

Возможны различные варианты реализации требуемой функции. Мне кажется наиболее универсальным вариант формирования двух процедур. Первая выполняет разделение связного списка на два - из имеющегося списка выделяется указанный фрагмент, а оставшиеся два фрагмента "сшиваются". Вторая, наоборот, внедряет один связный список в другой в указанной точке. Соответственно операция перемещения состоит из двух этапов - вырезка из исходной точки и вставка в конечную.
...
Рейтинг: 0 / 0
10.10.2018, 14:08
    #39715572
Мишая
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
AkinaМне кажется наиболее универсальным вариант формирования двух процедур. Первая выполняет разделение связного списка на два - из имеющегося списка выделяется указанный фрагмент, а оставшиеся два фрагмента "сшиваются". Вторая, наоборот, внедряет один связный список в другой в указанной точке. Соответственно операция перемещения состоит из двух этапов - вырезка из исходной точки и вставка в конечную.

Да, спасибо, по логике понятно твое объяснение. Это как копипаст.
Вот в коде я не силен. А как бы эти процедуры подглядеть?)
...
Рейтинг: 0 / 0
10.10.2018, 15:21
    #39715607
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
МишаяВот в коде я не силен.И что теперь? ручки сложим и будем сидеть да ждать? Начинайте делать... а вот как возникнут КОНКРЕТНЫЕ вопросы по вполне определённым участкам кода - так и милости просим. Авось подскажем.

Мишаякак бы эти процедуры подглядеть?Найдите где - подскажем как...
...
Рейтинг: 0 / 0
10.10.2018, 19:14
    #39715740
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
МишаяУ Задачи 1 подчиненные 2 и 3
У Задачи 3 - 2
и т.д.?
Правильно мыслю?...
Нет.
Изначально:
Задача 2 следует за задачей 1.
Это описано значением поля ParentTaskID записи Задача 2 значением ключевого поля TaskID Задачи 1.
(При этом значение поля ParentTaskID записи Задача 1 Is Null, так как она НЕ "привязана" в последовательности к другой задаче.)
Задача 3 следует за задачей 2, это описано значением поля ParentTaskID записи Задача 3 значением ключевого поля TaskID Задачи 2.
и т.д.

Получается цепочка очередности, где каждая последующая задача имеет в своем описание значение ключевого поля предыдущей задачи.

При необходимости изменения очередности, с шагом в +1(-1) задачу:
Нужно просто поменять значения поля ParentTaskID для двух соседних записей.
В транзакции, конечно.

При таком описании "цепочек" задач, имеется возможность параллельно вести несколько независимых цепочек.
...
Рейтинг: 0 / 0
11.10.2018, 05:12
    #39715879
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура проекта, как в MS Project
А может стоить взглянуть в сторону Древовидных структур (tree).
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Структура проекта, как в MS Project / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]