2012-06-25 3 views
2

처음으로 MS Access로 작업하고 누군가가 올바른 방향으로 나를 가리킬 수 있다면 몇 가지 문제가 발생합니다.Access 2010 DLookUp

모의 데이터베이스를 사용하고 있습니다. (어리석은 것처럼 보입니다) 방금 기능을 배우고 현재 DLookUp에 대한 도움이 필요합니다. 나는이 그냥 테스트/학습을위한 말했듯이 학생

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

코스와 FK에 C_ID 약동학 :

내 데이터베이스는이 개 다음 필드가있는 테이블을 가지고 있습니다. 그래서 내가 원하는 것은 C_ID의 목록을 제공하는 필터를 가지고 EnrollDatesNULL 인 것을 얻는 것입니다.

때문에 필터는 다음과 같습니다 나는 또한 기준

[tblStudent]![EnrollDATE] = Null 

는 현재 그냥 빈 필드 반환받을 것을 함께 시도

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

. 어떤 도움이라도 대단히 감사 드리며 제 설명이 불완전한 지 자세히 설명해주십시오.

감사합니다!

답변

1

올바른 구문은 다음과 같습니다 : 당신이 액세스에서

  • 을 열을 지정할 때

    DLookup("C_ID", "tblStudent", "EnrollDate is null") 
    
    1. 당신은 xxx is null 또는 xxx is not null를 사용하여 당신이 Null 확인, 테이블 이름을 포함 할 필요가 없습니다 DLookup 만 t 경우 하나 개 값을 (반환

    주 조건이 둘 이상의 행과 일치하면 값은 모든 행에서 가져옵니다),이 값을 사용하여 C_ID의 목록을 가져올 수는 없습니다.


    편집 :
    다른 테이블의 데이터를 기반으로 선택 한 테이블에서 데이터 및 필터는 당신이 실제로하고 싶은 것입니다, 맞습니까?
    마찬가지로 적어도 하나의 학생이 비어있는 모든 코스를 선택하십시오 EnrollDATE?

    1) 하위 선택으로 :

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

    2)에 의해 합류 그래, 당신은 전혀 DLookup이 필요하지 않은 경우

    , 그렇게하는 방법 두 가지 방법이 있습니다 테이블 :

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

    당신이 Access에서 쿼리에 switch to SQL View 필요하므로이, SQL이다.

  • +0

    팁 주셔서 감사합니다. 그러나 목록을 찾고 있으므로 내 다음 옵션이 무엇이 될지 궁금합니다. – HelloWorld

    +0

    나는 결코 그것을 이해하지 않았다! – HelloWorld

    +0

    방금 ​​읽은 것을 읽었지만 이미 내 대답을 편집했습니다. 위 참조! –

    관련 문제