Две подчиненных таблицы
Автор dimichspb, 27 марта 2011 16:23
Сообщений в теме: 9
#1
Отправлено 27 Март 2011 - 16:23
Добрый день!
Подскажите, пожалуйста, как сделать следующее.
Есть основная Таблица1, к ней две подчиненные Подчиненная1, Подчиненная2
В таблице Подчиненная2 есть поле Поле21 - это связь с таблицей Подчиненная1.
Задача состоит в том, чтобы при добавлении записи в таблицу Подчиненная2, в Поле21 был список только тех записей таблицы Подчиненная1, которые относятся к данной записи основной Таблицы1. Сейчас выпадает полный список записей.
Понятно, что нужно использовать фильтр, где в качестве значения будет запрос SQL, но не получается.
С уважением,
Дмитрий
Подскажите, пожалуйста, как сделать следующее.
Есть основная Таблица1, к ней две подчиненные Подчиненная1, Подчиненная2
В таблице Подчиненная2 есть поле Поле21 - это связь с таблицей Подчиненная1.
Задача состоит в том, чтобы при добавлении записи в таблицу Подчиненная2, в Поле21 был список только тех записей таблицы Подчиненная1, которые относятся к данной записи основной Таблицы1. Сейчас выпадает полный список записей.
Понятно, что нужно использовать фильтр, где в качестве значения будет запрос SQL, но не получается.
С уважением,
Дмитрий
#3
#5
Отправлено 28 Март 2011 - 17:20
Разработчик (28.3.2011, 17:02) писал:
А я Вам и не смогу сказать больше, чем то что уже писал в той теме.
Помогите тогда, пожалуйста, разобраться.
`Запрос`='(select f716 from cb_data62 where id={current})'
где 'Запрос' - поле связи в таблице Подчиненная1 с основной Таблицей1.
f716 - поле Номер в Таблице1
cb_data62 - Таблица1
вот в этом виде в список попадает почему-то последняя запись из Подчиненной1, а нужно чтобы был список записей в Подчиненной1 относящихся к данной записи в основной Таблице1.
С уважением,
Дмитрий
#6
Отправлено 28 Март 2011 - 17:36
Честно говоря я вообще не очень понял что тут к чему. Вы можете расписать как Вы составляли данное условие и что должен возвращать запрос '(select f716 from cb_data62 where id={current})' ? В частности абсолютно непонятно почему поле id, которое не имеет тип "пользователь", вдруг сравнивается с текущим пользователем: "id={current}"
#7
Отправлено 28 Март 2011 - 17:54
Разработчик (28.3.2011, 17:36) писал:
Честно говоря я вообще не очень понял что тут к чему. Вы можете расписать как Вы составляли данное условие и что должен возвращать запрос '(select f716 from cb_data62 where id={current})' ? В частности абсолютно непонятно почему поле id, которое не имеет тип "пользователь", вдруг сравнивается с текущим пользователем: "id={current}"
согласен. я хочу чтобы этот запрос возвратил поле Номер (f716) из таблицы cb_data62, текущей записи основной таблицы. чтобы использовать это значение в фильтре первой подчиненной таблицы. этот фильтр используется при отображении записей связанного поля второй подчиненной таблицы.
С уважением,
Дмитрий
#8
Отправлено 28 Март 2011 - 18:04
dimichspb (28.3.2011, 18:54) писал:
я хочу чтобы этот запрос возвратил поле Номер (f716) из таблицы cb_data62, текущей записи основной таблицы. чтобы использовать это значение в фильтре первой подчиненной таблицы
#9
Отправлено 28 Март 2011 - 18:23
Разработчик (28.3.2011, 18:04) писал:
Это все понятно, меня интересует конкретно логика запроса. Вы же его надеюсь не просто "от балды" составляли? Просто я например не вижу как в данном случае можно составить фильтр для новой записи (в той теме я писал что это в общем случае невозможно, а подходящий запрос составил и выложил сам клиент).
Я думал, что {current} это ID текущей записи таблицы. Забыл что это пользователь.
Есть ли какая-то переменная, в которой хранится ID текущей записи основной таблицы?
С уважением,
Дмитрий
#10
Отправлено 28 Март 2011 - 18:29
Нет, такой переменной нет.
Количество пользователей, читающих эту тему: 3
0 пользователей, 3 гостей, 0 анонимных













