linked tables

250 views
Skip to first unread message

Fabio Pignolo

unread,
Dec 9, 2025, 3:17:00 PM12/9/25
to mementodatabase
I have three libraries: Clients, Projects, and Tasks. The relationships between the libraries are:
- Clients, Projects 1:N
- Clients, Tasks 1:N
- Projects, Tasks N:N
This means I can add an activity either from Clients or from Projects. When I add an activity from Clients, I would like the only projects that can be linked to be those belonging to that client. Similarly, when I add a task from a project, I would like it to automatically link the client to whom the project belongs.
How is possible to obtain it?
Message has been deleted

Mmm

unread,
Dec 17, 2025, 1:53:39 PM12/17/25
to mementodatabase
Вариант решения с использованием диалоговых окон.

1. Так как библиотека "Clients" не является справочной, для идентификации клиентов добавлено поле "client_id".
По нему осуществляется поиск проектов которые ранее были связаны с текущим клиентом.
2. Создание дубликатов записей с помощью скрипта массовых действий и новой функции duplicate(). Отключите, если она не поддерживается версией программы.
3. Заполнение связей с Проектами и Задачами выполняется с помощью диалоговых окон. 
Возможен выбор только одного элемента из массива элементов.
Вызов окон – кнопками.
4. Варианты подбора подходящих данных - разные. Зависят от наличия ИД клиента, результатов поиска ранее использовавшихся проектов, наличия Проекта или Задачи, связей Задач с Проектами. 
5. Триггеры могут изменить имя клиента (пустое, неизвестное) по его ИД.
6. Триггеры могут добавить Проект, если указана только задача и известно, с каким проектом она связана.

Библиотеки для тестов:

воскресенье, 14 декабря 2025 г. в 18:10:36 UTC+3, Mmm:
Создал тестовые библиотеки:

Заполните связи для существующих записей и опишите ещё раз свои пожелания с учётом конкретных записей и связей.

Пример: 
1. Создаю запись "Client 3".
2. Выбираю (или создаю это разные действия) задачу "Task 4".
3. Хочу видеть ...

вторник, 9 декабря 2025 г. в 23:17:00 UTC+3, fabio....@alluan.com:
IC__17122025.jpg

Mmm

unread,
Dec 19, 2025, 2:00:16 PM12/19/25
to mementodatabase
Когда предложен вариант решения - всегда важна обратная связь от автора вопроса в теме на форуме или в личном сообщении.
Если автору предложено несколько вариантов решения - всегда интересно, какой вариант он выбрал.
Если предложен один вариант - важен ответ здесь или в личном сообщении: помогло решение или нет. 

Спасибо за обратную связь!

среда, 17 декабря 2025 г. в 21:53:39 UTC+3, Mmm:

Mmm

unread,
Dec 21, 2025, 5:10:15 AM12/21/25
to mementodatabase
Шаблоны библиотек:
пятница, 19 декабря 2025 г. в 22:00:16 UTC+3, Mmm:

Fabio Pignolo

unread,
Dec 21, 2025, 8:27:04 AM12/21/25
to Mmm, mementodatabase
Прошу прощения за задержку с ответом, я попробовал предложенное решение, оно не совсем то, что я имел в виду, но я вижу, что оно работает.

Спасибо.


Fabio





--
You received this message because you are subscribed to a topic in the Google Groups "mementodatabase" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mementodatabase/CqSmPQmYmWg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mementodataba...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mementodatabase/48528326-fd6e-42bf-a843-deef0f01fa24n%40googlegroups.com.

Mmm

unread,
Dec 22, 2025, 3:51:53 AM12/22/25
to mementodatabase
Скажу честно, я не понял в полном объеме, что нужно.
Даже с учетом дополнительных комментариев в библиотеках.

Например:

>>> Similarly, when I add a task from a project, I would like it to automatically link the client to whom the project belongs.

Что подразумевается под:
- "когда я добавляю задачу из проекта...". Это создание новой записи в Задачах или выбор существующей записи из Задачи?
- "... я хотел бы, чтобы автоматически связывался клиент, которому принадлежит проект"? Нужно создать новые записи в библиотеке Клиенты для каждой Задачи, созданной из Проекты? Или что-то другое?

Кроме того, нет ясности:
- одна задача принадлежит только одному проекту или нескольким?
- одна задача принадлежит только одному клиенту или нескольким?
- один проект только для одного клиента или для нескольких?

Поэтому решение больше выглядит как фильтр подходящих записей из Проектов или Задач с возможностью их выбора.
Скриптом установить фильтр в библиотеке нельзя, поэтому выбор записей осуществляется в окнах dialog().

воскресенье, 21 декабря 2025 г. в 16:27:04 UTC+3, fabio....@alluan.com:
Reply all
Reply to author
Forward
0 new messages