2012-06-25 4 views
2

Работа с MS Access в первый раз и решение нескольких проблем, если кто-то может указать мне в правильном направлении.Access 2010 DLookUp

Так что я делаю макет базы данных (так выглядит глупо), просто чтобы узнать все входы и выходы и нужна помощь с DLookUp на данный момент.

Моя база данных имеет две таблицы со следующими полями: C_ID рК в курсах и FK в Student

tblCourse: C_ID, Title, Subject        
tblStudent: S_ID, C_ID, Name, EnrollDATE 

Как я сказал, что это только для тестирования/обучения. Так что я хочу иметь фильтр, который дает мне список C_ID, на основании которых EnrollDates есть NULL.

так фильтр:

Expr1: DLookUp("[tblStudent]![C_ID]","tblStudent","isNull([tblStudent]![EnrollDATE])") 

Я также попытался с критериями будучи

[tblStudent]![EnrollDATE] = Null 

В настоящее время я получаю только пустые поля возвращаются. Любая помощь очень ценится, и, пожалуйста, попросите меня уточнить, если мое объяснение не работает.

Спасибо!

ответ

1

Правильный синтаксис выглядит следующим образом:

DLookup("C_ID", "tblStudent", "EnrollDate is null") 
  1. Вам не нужно включать имя таблицы при указании столбцов
  2. В Access, вы проверяете для Null с помощью xxx is null или xxx is not null

DLookup Обратите внимание, что возвращает только одну значения (если Т он соответствует нескольким строкам, значение берется из любой строки), поэтому вы не можете использовать его для получения списка C_ID s назад.


EDIT:
То, что вы действительно хотите сделать, это выбрать данные из одной таблицы, и фильтр, который основан на данных из другой таблицы, правильно?
Как, выбирая все курсы, где хотя бы один студент имеет пустой EnrollDATE?

Если да, то вам не нужно DLookup вообще, есть два способа, как сделать это:

1) подпункт выберите:

select * 
from tblCourse 
where C_ID in 
(
    select C_ID 
    from tblStudents 
    where EnrollDATE is null 
) 

2) Присоединившись столы:

select tblCourse.* 
from tblCourse 
inner join tblStudent on tblCourse.C_ID = tblStudent.C_ID 
where tblStudent.EnrollDATE is null 

Это SQL, так что вам нужно switch to SQL View в запросе в Access.

+0

Благодарим вас за советы, но поскольку я ищу список, каким будет мой следующий вариант. – HelloWorld

+0

Ничего, я все понял! – HelloWorld

+0

Я только что прочитал, что вы поняли это, но я уже закончил редактировать свой ответ. См. Выше! –

Смежные вопросы