Используйте столбец из самой таблицы для условия запроса источника строки поиска - PullRequest
0 голосов
/ 28 июля 2011

В представлении конструктора таблицы на вкладке «Уточняющий запрос» вводится запрос «Источник строки».Есть ли способ указать на столбцы самой таблицы при указании условия where?Например,

select [footable].[foreign] from [footable] where [footable].[id] = [self].id;

Я давно запутался в этом вопросе.


Редактировать: чтобы уточнить на примере, допустим, что таблица, которую я сейчас редактируюимеет имя bartable, и я создаю источник строки для раскрывающегося списка для одного из его столбцов с именем baz.В этом раскрывающемся списке я хочу показать строки select [foreign] from [footable] inner join [bartable] on [footable].[id]=[bartable].[id], но не все результаты этого объединения, используя все строки bartable - скорее, используя значение id из bartable строка, для которой в данный момент отображается выпадающий список .Таким образом, если пользователь щелкнет раскрывающийся список для строки bartable в столбце baz, а в этой строке будет id из 23, он покажет все [footable].[foreign], где их [footable].[id] соответствует 23.

Надеюсь, это более понятно.

Ответы [ 3 ]

1 голос
/ 28 июля 2011

Если вы хотите сравнить один и тот же столбец, он выдаст вам все строки ... нет разницы в этом типе условия или where 1=1

, пожалуйста, проверьте, какое именно условие вы хотите поставить тудаили если из другого источника вы получаете желаемое id, тогда прокомментируйте или отредактируйте свой вопрос соответственно ..

0 голосов
/ 03 декабря 2014

используйте свойство "CurrentRecord", например,

select [footable].[foreign]
from [footable], [bartable] 
where [footable].[id] = [bartable.fk]
and [bartable.id] = [CurrentRecord];

"bartable" - это таблица, в которую вы вводите запрос "Row Source" на вкладке поиска

0 голосов
/ 06 августа 2013

Я только что зашел на эту страницу в поисках ответа на тот же вопрос.

Во-первых, некоторое уточнение вопроса (поскольку, похоже, существует некоторая путаница). У вас есть таблица баров, которая имеет отношение внешнего ключа к таблице Foo. Когда вы щелкаете по столбцу «baz» в Таблице Бар, вы получаете раскрывающийся список, показывающий каждую строку в Таблице Foo. Вы не хотите показывать каждую строку в таблице Foo; Вы хотите показать некоторое подмножество этих строк, выбранных в соответствии с некоторой частью информации, которую вы уже имеете в строке Стол столбцов.

В моем случае я хотел сделать это, потому что и Бар, и Фу имеют отношение внешнего ключа к третьей таблице, Quux. Когда я использую раскрывающийся список в столбце «baz» в Bar, мне нужны только строки в Foo, которые ссылаются на ту же строку в Quux, на которую ссылается строка в Bar.

Это сработало для меня в Access 2007:

SELECT [Foo].[PrimaryKey] FROM Foo WHERE [Foo].[ForeignKey to Quux]=[Bar].[ForeignKey to Quux]; 
...