Доступ 2013 — Длукап

Сейчас я попробовал DLookUp, но не получил желаемого результата.

Моя ситуация: Я создаю базу данных для кинотеатра. Он включает в себя таблицы с названиями кинотеатров, фильмов, проданных мест, цен.

Я сделал форму, где я могу записать нового "гостя". Я могу выбрать идентификатор шоу, а затем увидеть дату и время. Сейчас я записал некоторых гостей и теперь свободных мест должно быть меньше. Я хочу показать это на той же форме, что и та, где я записываю новых гостей. Я не встаю с Dlookup.

Я сделал этот запрос, который вычисляет, сколько мест осталось, но я не могу указать это в форме.

SELECT
    tbl_Vorstellung.ID_Vorstellung,
    tbl_Kino.Kino,
    Sum([tbl_Kino]![Sitzplätze]-[qry(02)PlätzeVerkauft]![AnzahlvonTicketNummer]) AS Ausdr1
FROM
    tbl_Kino
    INNER JOIN ([qry(02)PlätzeVerkauft]
    INNER JOIN tbl_Vorstellung
    ON [qry(02)PlätzeVerkauft].ID_Vorstellung = tbl_Vorstellung.ID_Vorstellung)
    ON tbl_Kino.ID_KINO = tbl_Vorstellung.FS_KINO
GROUP BY
    tbl_Vorstellung.ID_Vorstellung,
    tbl_Kino.Kino;

person maes    schedule 03.04.2013    source источник
comment
SELECT tbl_Vorstellung.ID_Vorstellung, tbl_Kino.Kino, Sum([tbl_Kino]![Sitzplätze]-[qry(02)PlätzeVerkauft]![AnzahlvonTicketNummer]) AS Ausdr1 FROM tbl_Kino INNER JOIN ([qry(02)PlätzeVerkauft] INNER JOIN tbl [_Vorstell ON qry(02)PlätzeVerstellung].ID_Vorstellung = tbl_Vorstellung.ID_Vorstellung) ON tbl_Kino.ID_KINO = tbl_Vorstellung.FS_KINO GROUP BY tbl_Vorstellung.ID_Vorstellung, tbl_Kino.Kino;   -  person maes    schedule 04.04.2013
comment
благодарю вас. Могу ли я сказать вам иначе. I Quere работает хорошо. Учитывается каждое проданное место. Мой последний вопрос: как показать левые места в форме? Работаю с Dlookup. Я создаю новое текстовое поле. Там я хочу посмотреть, сколько мест на какое шоу доступно. Я хочу взять идентификатор, который я выбираю сверху, для работы с запросом. запрос должен взять выбранный идентификатор вершины.   -  person maes    schedule 04.04.2013
comment
Посмотрите, правильно ли я понял. Я назову запрос в вашем вопросе qryUnsoldSeats. Итак, ваша форма имеет 27 в качестве текущего значения ID. Затем вы можете получить количество непроданных мест, найдя ID=27 в qryUnsoldSeats. Итак, возможно: SELECT Ausdr1 FROM qryUnsoldSeats WHERE ID_Vorstellung = 27; Если этот оператор SELECT возвращает то, что вам нужно, мы можем преобразовать его в выражение DLookup.   -  person HansUp    schedule 04.04.2013
comment
Хорошо. Теперь это сработало! спасибо! Теперь у меня есть ошибка проектирования. Когда я еще не выбрал значение, появляется поле #error#. когда я выбираю значение, оно исчезает и показывает мне правильную информацию. Как я могу поместить туда Если ничего нет, напишите Bitte auswählen   -  person maes    schedule 04.04.2013
comment
Я очень заблудился, но похоже, что вы делаете успехи, несмотря на мое замешательство. И теперь ваш Dlookup() в основном работает, за исключением случаев, когда ID равен Null. Так что, возможно, вы можете использовать это DLookup в выражении IIf()... IIf(IsNull(ID), "Bitte auswählen", DLookup(...))   -  person HansUp    schedule 04.04.2013


Ответы (1)


Сохраните рабочий запрос под новым именем, например MyQuery.

Затем используйте

DLOOKUP("Ausdr1", "MyQuery", "ID_Vorstellung=SomeValue AND Kino=SomeValue")

На твоей форме. Вам нужно будет ввести значения SomeValue на основе полей в вашей форме и т. д.

person Dan Metheus    schedule 03.04.2013