2010-05-07 4 views
1

Access로 데이터베이스를 만들고 있습니다. 이것은 필자의 요구 사항과 비슷한 테스트 데이터베이스 일 뿐이므로 작업을 위해 필자가 작성하기 전에 기술을 습득 할 수 있습니다. 저는 이것이 놀이터이자 풍부한 데이터이기 때문에 허구의 학교를위한 데이터베이스를 만들었습니다 (많은 학생들이 많은 교사들에게 많은 교사를 가지고 있습니다).MS Access 07 - Q 조회 룩 대 대 다 대다; Q : 다 대다 서식의 Q 확인란.

질문 1 조회 열과 다 대다 연관 테이블을 사용할 때의 차이점은 무엇입니까? 예 : 'Teacher'및 'Subject'테이블이 있습니다. 많은 교사들은 많은 과목을 가지고 있습니다. 나는 'Teacher_Subject'테이블을 생성하고 이것을 가지고 질의를 할 수있다. 그런 다음 주제의 데이터가있는 교사 표의 조회 열을 만들었습니다. 조회 열이 teacher_subject 테이블 대신 사용됩니다. (비록 관계에 대한 데이터가 룩업 테이블과 teacher_subject간에 분명히 중복되어 있으며 다를 수 있음). 어느 것이 '더 나은'옵션입니까? 조회 테이블을 사용하는 것과 관련하여 문제가 있습니까? (이 질문은 '일반적인'질문입니다. 다른 리소스에 대한 링크 및 '그 ...에 따라 달라지는 답변'이 인정됩니다.)

질문 2 조회 테이블을 끌어 당기는 이유는 다음과 같습니다. 룩업과 함께 선생님을위한 과목 입력 양식 간단히 체크 박스를 만들고 '켜기'또는 '끄기'를위한 과목을 클릭하면됩니다. 각 클릭 온/오프는 룩업 열의 레코드를 생성/제거합니다 (이것은 teacher_subject를 대체합니다). 선생님과 함께 선생님과 주제가되는 질문에서 양식을 사용하고 하위 양식으로 주제를 사용하는 경우이 문제가 발생합니다. 하위 양식에서 선생님이 bombo 상자에있는 각각의 주제를 선택하거나 클릭하거나 아래로 스크롤하거나, 선택, 다음 행으로 이동, 클릭, 스크롤 다운 등 (너무 오래 걸림) 또는 각 행에서 사용 가능한 모든 제목을 나열하는 목록 상자를 만들 수 있지만 하나만 선택할 수 있습니다. (너무 많은 공간을 차지함). teacher_subject에 대한 클릭 켜기/끄기 목록 상자를 만들 수 있습니까? 각 클릭으로 거기에 레코드를 만들거나 제거 할 수 있습니까?

주 - 제로 SQL 또는 VB를 알고 있습니다. 정답이 "당신이 SQL을 알아야 할 필요가있다"면 멋지다. 나는 단지 알 필요가있다.

감사합니다.

답변

0

실제로 다중 값 필드를 사용하지 않고도 다중 값 필드에서 선호하는 UI 기능을 제공하는 방법을 찾았습니다. 그것은 나에게 도전적 인 것처럼 보인다.

제가 생각할 수있는 가장 가까운 것은 "목록"선택 항목과 확인란 필드가있는 연결이 끊긴 레코드 세트를로드하는 것입니다. 그런 다음 데이터 시트보기로 표시되는 해당 레코드 세트를 기반으로 폼 또는 하위 폼을 만듭니다. 다중 값 필드에 바인딩 된 콤보와 비슷하게 보일 수 있습니다. checkbox 필드의 after update 이벤트에서 필요에 따라 접합 테이블에서 레코드를 추가하거나 제거하는 코드가 필요합니다.

그러나이 문제가 해결해야 할 부분인지 여부는 알 수 없습니다. 이전에 당신은 필요하다면 SQL을 배우려는 의도를 나타 냈습니다. 내가 제안하는 접근법은 또한 VBA를 필요로합니다. 어쩌면 Danny Lesandrini의 기사 인 Create In-Memory ADO Recordsets을 사용하여 사용 가능한지 여부를 확인하십시오.

OTOH, 아마도 가장 적합한 대답은 다중 값 필드를 유지하고 남은 인생을 함께하는 것입니다. 나는 붙어있다. 그러나 실제로 다중 값 필드를 사용하고 있다는 것을 알게되었으므로 다른 누군가가 당신에게 더 적절한 제안을 제공 할 수 있습니다.

+0

한스 - 감사합니다. 연결이 끊긴 레코드 세트 = 테이블? 나는 VBA와 SQL을 배우는 데 신경 쓰지 않는다. 이 데이터베이스는 중요한 프로젝트입니다. 또한 그것으로 작업하고, 편집하고, 변경하고 성장시키는 기술이 필요합니다. 적응력이 있어야합니다. 코드를 배우지 않고도이 작업을 수행 할 수 있기를 바랬습니다 (바로 가기가 맘에 든다). 그러나 그렇게하십시오. 다중 값 필드에 대해서는 사용하지 않겠습니다. 다중 값 필드가 제공하지 않는 유연하고 일관성있는 데이터베이스를 원합니다. 다른 의견이 제기되는 경우를 대비하여이 질문을 며칠 동안 대답하지 않은 채로 두겠습니다.그 대답은 내가 기대하고 두려워했던 것입니다 : 코딩을 배우십시오. – TBinLondon

+0

PS - 그 기사를 보았습니다. 진실은 말해, 나는 그것의 90 %를 이해하지 않았다. 그러나 SQL/VB에서 더 나은 이해를 얻은 후에는 책갈피에 추가하고 반환 할 것입니다. 감사. – TBinLondon

+0

PPS - 명확하게 : 여러 값 필드를 사용하고 테이블을 연결합니다. 내 실제 프로젝트를위한 놀이터이기 때문에 둘 다 시도했다. 나는. 나는 Teacher_Subject 테이블을 가지고있다. 그리고 선생님 테이블에는 MV- 속성이 있습니다 : '과목들'; 내 과목에는 MV 특성이 있습니다 : '선생님'. 이것이 생성하는 데이터와 혼란의 이중성과 삼중성을 이미 볼 수 있습니다. teacher_subject 테이블은 훨씬 깨끗합니다. 유일한 문제는 물론 폼에 체크 박스 기능을 제공하지 않는다는 것입니다. 그러므로 내 질문. – TBinLondon

2

테이블의 열을 조회하면 기쁨보다 더 스트레스를 받게됩니다. 셰어 포인트를 필요로하지 않는 한, 그들은 피해야합니다. http://r937.com/relational.htmlhttp://www.mvps.org/access/tencommandments.htm

+0

네, 알겠습니다. 흠. 감사. 좋아요. 그래서 연관 테이블을 고수 할 것입니다. 틱 - 권투에 대한 유용성 문제를 해결하는 아이디어? 감사합니다. – TBinLondon

+0

@ David-W-Fenton에서 언급했듯이 하위 폼은 실제로 매우 유용하며 거의 코딩없이 사용할 수 있으며 콤보 상자에서 요구할 수있는 작은 코딩이 마법사에 의해 생성됩니다. – Fionnuala

1

나는 사용하지 않을 수도 있습니다. 귀하의 예는 괜찮지 만 제한이 있습니다. 주제 테이블에서 이름이 아닌 다른 필드를 참조해야 할 때 무엇을합니까? 학기 기준으로 만 제공되는 과목을 어떻게 구분합니까?

일부 교사는 부적절한 코딩없이 할당 된 과목 수를 계산할 방법이 없습니다.

다른 제한 사항은 특정 학년도에 누가 어떤 과목을 가르쳤는지 확인하는 것입니다.

+0

알았어, 알았어. 알 겠어. 조회 테이블은 악합니다. 나는 특히 데이터베이스 문제에서 지혜를 고수하는 것을지지합니다. 두 번째 문제는 어떻게됩니까? 나는 여전히 그걸 가지고 놀고있어.하지만 어딘가에 코딩이 없으면 끝내 버릴 방법이 없을 것 같다. ... – TBinLondon

1

두 번째 질문에 대해 명확하지 않지만 드롭 다운 목록이있는 하위 폼이 필요한 것처럼 들립니다.

체크 박스를 수행하려는 경우 신속하게 훨씬 더 복잡해집니다. 나에게 사용자 인터페이스에서 시작하여 다른 방향으로 진행하는 대신 뒤로 작업하여 구조로 넘어 가고 있습니다.

나는 그것을 언급하는 것을 망설이지 만, A2007 및 A2010에서는 다중 값 필드를 사용할 수 있으며, 사용자가 설명하는 UI가 정확하게 표시된다는 것을 알고 있어야합니다.그러나 이들은 lookup 필드와 같은 많은 문제를 가지고 있으며 코드에서 작업하기가 아주 복잡합니다. 배후에서는 표준 다 대다 조인 테이블로 구현되지만 모두 숨겨져 있습니다.

MS는 모든 목록 상자에서 사용할 수있는 MV 필드와 함께 사용되는 확인란 컨트롤을 사용하여 목록 상자를 만들 겠지만 목록 상자 컨트롤이이를 위해 설계되지 않은 경우에는 다 대다 조인 테이블에 바인딩하는 것이 복잡 할 수 있습니다 링크 하위/링크 마스터 속성 포함).

+0

@ TBinLondon David는 다중 값 필드를 언급했다. 이미 사용 중인지 궁금합니다. 이것이 당신에게 횡설수설 인 경우, 디자인 모드에서 테이블을 열고 조회 필드를 선택한 다음 조회 탭에서 "다중 값 허용"속성을보십시오. 그 물건 옆에 예 또는 아니오라고되어 있습니까? – HansUp

+0

David - 네, 인터페이스로 시작합니다. 구조를 배워야 할 것 같은데.
나는 다중 가치 분야에 대해 들어 본 적이 없다. 나는 이것을 조사 할 것이다. 고맙습니다. 조회수 필드와 동일하고 동일한 문제가있는 것처럼 들리지만. 최종 결과에서, 나는 그것들을 분명히 할 수있다.
마지막 단락은 내가 찾고있는 것이 Access에 존재하지 않는다고 제안하는 것 같습니다. 오 잘. 그래도 고마워! – TBinLondon

+0

한스 - 한 번 봐. 예, 이미 사용하고 있습니다. 그래서, 만약 당신이 두 가지 권리, 다중 값 필드 = 조회 필드 + "여러 값을 허용"이해합니다. 두 번째 질문에 대한 대답이 "SQL 배우기"라는 점이 점점 더 커지고 있습니다. – TBinLondon