2011-07-05 5 views
1

나는, 특정 조건을 충족 액세스 조건 만 표시 행을 내가 진행하기 전에 내가 당신에게 몇 가지 배경 정보를 제공 할 수 있도록 노력하고있어 :액세스 양식 필드 논리

을 제작 한 Access 폼을하고 연결 내 컴퓨터의 테스트 DB에. 나는에 관심이 특정 테이블은 다음 (중요) 행을 포함

ID는, 사무실, 이름, SecurityNumber

것은이

이 ID는 고유하지 않습니다. 두 개의 사무실 위치가 있으며 각 Office에는 고유 한 ID 번호 세트가 있습니다. 즉, 여기 저기에있는 ID 10은 같은 사람 일 수도 있고 아닐 수도 있습니다. (이 데이터는 아직 변경하지 않으려 고하는 기존 보안 시스템에서 나옵니다. 따라서 변경할 수는 없습니다.)

ID는 각 사무실마다 고유합니다.

! TABS에서 Access 양식을 만들었습니다! 두 개의 탭, 각 사무실 당 하나. 지금 달성하고자하는 것은 다음과 같습니다.

각 탭의 ID/이름/SecurityNumber 필드에는 특정 'Office'값과 일치하는 행만 채워야합니다.

도움을 주셔서 감사합니다. : D

답변

0

별도의 탭 페이지 컨트롤에 표시된 사무실 위치에 대한 데이터를 원할 경우 레코드 원본으로 사용되는 쿼리의 WHERE 절에서만 다른 페이지의 하위 폼을 사용할 수 있습니다. 1 사무실의 하위 폼에 대한 그래서, 쿼리 수 :

SELECT ID, Office, [Name], SecurityNumber 
FROM YourTable 
WHERE Office = 'Office1' 
ORDER BY [Name]; 

그런 다음 Office2를 들어, 쿼리가 WHERE 절을 제외하고는 동일 할 것이다 :

WHERE Office = 'Office2' 

나는 당신의 질문을 이해로서, 그 접근 방식은 것 네가 요구하는대로해라.

그러나 실제로 그렇게하는 것이 쉬운 방법은 아닙니다. 대신 사용자가 보려는 사무실을 선택할 수있는 콤보 상자 컨트롤을 고려하십시오. 콤보 업데이트 후 이벤트의 코드에서 폼의 레코드 원본으로 사용되는 SELECT 문을 수정하거나 필터 식을 만들어 적용하십시오.

또한 SQL Server에서 양식의 데이터를 가져 오는 중이므로 선택한 사무실 위치의 모든 레코드를로드 할 것인지 여부를 고려하십시오. 각 위치에 대해 행 수가 적거나 많지 않은 경우에는별로 염려하지 않을 수도 있지만, 수천 개의 행을 처리하는 경우에는 그럴 수 있습니다. 일반적으로 유선을 통해 많은 양의 데이터를 가져 오는 것을 방지해야합니다. 대신에 잡아 당기는 대신 ... 당면한 작업을 위해 필요한 것만.

+0

안녕하세요 한스! 매크로를 사용하여이 작업을 수행하려고했습니다. 나는 당신이 내가 SQL 질의를 만들고 그것을 데이터 소스로 사용해야한다고 말한 것을 모았습니다. – CodeMinion

+0

지금 무슨 뜻인지 알지만, 어떤 이유로 내 Office2 양식 필드가 모두 #Deleted로 바뀌 었습니다 : (계속 하시겠습니까?) – CodeMinion

+0

필드 중 하나의 컨트롤 소스를 선택하려면 '= [dbo_Employee]! [FirstName]'을 사용하고 있습니다. – CodeMinion