2011-08-09 6 views
3

내 응용 프로그램에서 만든 로컬 보고서가 있습니다. 내 액세스 데이터베이스에있는 "내역"테이블의 내용을 표시합니다. 하나의 열은 "ID"이며 다른 테이블 "Employees"의 기본 키를 나타냅니다.보고서 뷰어 보고서를 만들 때 다른 데이터 테이블의 값 조회

보고서에 새로 고침되었을 때 직원의 ID가 표시되지만 당연히 직원의 이름을 대신 표시하려고합니다.

간단히 말해서, 내 rldc 파일의 다른 테이블에서 조회를 수행 할 수 있어야합니다. 어떻게해야할까요?

+1

쿼리에 조인을 추가하고 필요한 모든 결과를 반환하지 않는 이유는 무엇입니까? –

+0

내 rldc 파일에 Employees 테이블에 대한 내 데이터 집합이 있지만 Employee 테이블의 EmployeeName과 함께 History 테이블의 EmployeeID 필드를 어떻게 바꿀 수 있습니까? 사전에 감사드립니다, 나는 여기에 의미가있어 :) 희망 # : – ChrisO

+0

그것은 제임스라고 .. 모든 행에 직원의 이름을 가질 수 있도록 데이터 집합을 채우기 위해 쿼리에 조인을 추가하십시오. – Martin

답변

1

데이터 어댑터와 입력 된 데이터 세트를 통해 데이터베이스에서 데이터를 가져 오는 것으로 가정합니다. 이 같은? 그런 다음

 TestDataSetTableAdapters.CategoryTableAdapter ca = new TestDataSetTableAdapters.CategoryTableAdapter(); 
     this.ds1 = new TestDataSet(); 
     ca.Fill(this.ds1.Category); 

당신은 데이터 세트로 이동이

선택 시간. *, 내부 이 e.ID에 직원에게 전자에 가입 역사 시간에서 e.EmployeeName는 = 시간처럼 뭔가에 TableAdapter에있는 쿼리를 수정 .UserID

그런 다음 기록 세트의 모든 행에 EmployeeName 열을 포함하도록 datset이 수정됩니다. 그런 다음 "employeename"열을 yyour 보고서에서 직접 사용할 수 있습니다.

1

다음은 직원 및 기록 테이블을 SQL에 결합하는 방법의 예입니다. 내 액세스가 녹슬어서 구문이 완벽하지는 않지만 개념을 증명해야합니다. 분명히 열 이름을 구성 했으므로 열을 원하는대로 변경해야합니다.

SELECT EmployeeID, 
     EmployeeName, 
     TimeIn, 
     TimeOut 
FROM Employee Emp 
     INNER JOIN History History 
      ON Emp.EmployeeID = History.EmployeeID 
관련 문제