2012-10-09 2 views
1

SQL Access Migration Assistant를 사용하여 최근에 데이터를 SQL 백엔드로 이동 한 고대 Access 응용 프로그램이 있는데 한 가지 문제를 제외하고 거의 모든 것이 작동합니다.SQL 백엔드 블랭킹 폼 세부 정보가있는 응용 프로그램에 액세스

응용 프로그램에는 다른 양식이 포함 된 양식이 있습니다. 외부 양식은 시스템에 입력 된 특정 "문제점"을 찾은 다음이 문제점과 관련된 히스토리 레코드 (내부 양식)를 찾습니다. 히스토리 레코드가 존재하면, 완벽하게 작동합니다. 레코드가 임베디드 형태로 잘 나타나기 때문입니다. 그러나 아직 데이터베이스에 기록 레코드가 없으면 임베디드 된 양식의 전체 세부 사항 섹션이 완전히 비어 있습니다. 속성은 모두 순수한 Access 데이터베이스 일 때와 완전히 동일하게 설정되었지만 이제는 연결된 테이블을 사용하여 SQL에서 가져 오도록 전환 했으므로 가져올 레코드가 없을 때 양식이 비어있게되었습니다.

편집 : 두 조건 모두 충족되면 양식의 세부 정보 창에 아무 것도 표시되지 않는다는 것을 알게되었습니다. (1) 표시 할 기존 레코드가없고 (2) 추가 할 수없는 새로운 기록.

두 번째 조건은 내 문제가있는 곳을 의미합니다. Access에서 연결된 각 테이블의 아래쪽으로 스크롤을 시도했는데 History 레코드 테이블의 경우 새 행을 추가 할 수 없었지만 Issues 테이블의 경우 해당 테이블에있었습니다. 무언가가 어떤 이유로이 하나의 테이블을 편집 할 수 없게 만듭니다.

+1

기록 테이블에 대한 링크를 삭제하거나 다른 이름으로 바꿉니다. 그런 다음 동일한 SQL Server 테이블에 대한 새 링크를 만들고 Access에서 기본 키로 사용할 필드를 묻는 지 확인하십시오. 그런 일이 발생하고 각 행을 고유하게 식별하는 필드를 지정하면 새 링크가 편집 기능을 제공하는 것을 알 수 있습니다. – HansUp

+0

이것은 실제로 나의 상황을 고치려고 끝내 었습니다. 나는 두 번째 질문을 게시 할 필요조차 없었습니다 :). 고맙습니다. – Greg

답변

1

하위 폼 ("내부 양식")의 레코드 원본이 읽기 전용 일 때 설명 된 동작이 발생할 수 있다고 생각합니다. 일치하는 행이 있으면 표시됩니다. 그러나 일치하는 행이 없으면 하위 양식의 바운드 데이터 컨트롤이 비활성화되도록 행을 추가 할 수 없습니다.

디자인보기에서 하위 폼을 엽니 다. 양식을 선택하고 해당 속성 시트를 엽니 다 (Alt + 입력). 속성 시트의 데이터 탭에서 레코드 원본 속성을 찾습니다. 속성 값이 SELECT 인 경우이를 복사 한 다음 새 Access 쿼리의 SQL보기로 이동 한 다음 쿼리를 데이터 시트보기로 전환합니다. 속성이 테이블 또는 저장된 쿼리의 이름 인 경우 해당 개체를 데이터 시트보기에서 직접 엽니 다.

양식의 레코드 원본을 데이터 시트보기에서 열었 으면 행을 추가 할 수 있습니까? 그렇지 않은 경우 SQL Server 사용자에게 데이터 소스에 대한 사용 권한이 INSERT인지 확인하십시오. 그러나 INSERT 권한이 있더라도 Access에서는 각 행을 고유하게 식별하는 필드 또는 필드 조합을 식별 할 수없는 경우 데이터 원본을 읽기 전용으로 연결했을 수 있습니다. 이 경우 테이블을 다시 연결하고 어떤 필드를 기본 키로 사용할지를 알려야 할 수도 있습니다.

+0

두 번째 섹션에서 뭔가있는 것으로 생각됩니다. 어떤 이유로 든 하나의 테이블에서 읽기 전용 동작을 얻고 있다는 사실을 알게되었습니다. 내가 알고있을 때 다시보고 할게. 감사! – Greg

+1

확실히 그것은 일종의 사용 권한 문제입니다. 나는 아직도 상황을 고치기위한 세부 사항을 연구 중이다. 그러나 지금 나는 그 원인이 무엇인지, 어떻게 접근해야 하는지를 확실히 알고있다. – Greg

관련 문제