2014-03-12 3 views
1

미러링 된 데이터 세트에 문제가 있습니다. 이 상황은 데이터 모델이 몇 달 전에 바뀌었기 때문에 최근에이 프로젝트에 할당되어 새로운 애플리케이션 및 데이터 모델이 이미 완료 되었기 때문에이 상황이 발생했습니다.MS Access DB에서 미러링 된 데이터 세트를 제거하는 방법은 무엇입니까?

이전 MS Access 응용 프로그램의 모든 데이터를 새 응용 프로그램으로 가져 오는 작업이 있으며 여기에 오류가있는 원본 위치가 있습니다. 이전 데이터 모델은 모든 데이터 세트가 미러 된 사본으로 저장되는 방식으로 작성되었습니다. 다음과 같은 데이터베이스 테이블을 상상해보십시오 :

pk | A | B

1 | 안녕하세요 | 세계

2 | 세계 | hello

Excel 및 VBA 코딩을 통해 자체 제작 된 준비 프로세스를 통해 데이터를 가져 와서 정상적으로 작동했습니다. 스테이징이 필요했기 때문에 insert 문을 작성하여 모든 이전 ID, 이름 등을 뉴스에 매핑해야했습니다.

가져 오기가 끝난 후 응용 프로그램을 테스트하는 동안 GUI에서 모든 데이터 세트를 두 번 표시한다는 것을 알게되었습니다. (두 번 표시되고 한 번 표시되지 않고 다시 미러링 된 형태로 표시된 이유는 결과를 표시하는 ListBox를 채우는 방법입니다)

미러 된 데이터에서 해당 오류의 원인을 찾았습니다. 그것을 없애기 위해서. 내가 가지고있는 첫 번째 생각은 다소 길고 아마도 지나치게 복잡하기 때문에 더 짧은 해결책을 찾기 위해 여기에 게시하고 있습니다. 다음과 VBA 코딩에만 사용 하듯이

그래서, 내 생각은 : SELECT로 레코드를 작성

  1. * 문이 될 것을의도 RecordCount을하여 SQL 문을 작성하고 있는지 확인
  2. mirroredDataTable
  3. FROM > 1에서 recordSet의 각 레코드에 대해 1).
  4. resultCount가 1보다 크면 해당 결과의 ID 중 하나가 새 recordSet 또는 Array에 기록됩니다.
  5. 4.에서 recordSet/array가 구문 분석됩니다. 다시 거기에있는 각 ID에 대해 DELETE 문을 만듭니다.
  6. ???
  7. 이미 2의 SQL 문)에 대한 아이디어는 있는데, 어떻게 시작하기 전에 난 그냥 고려하지 않은 더 "쉬운"방법이 없는지 확인하고 싶습니다
  8. 이제

이익 아직 또는 간과했습니다.

당신이 제공 할 수있는 도움말/정보/팁에 크게 감사드립니다.

추신 : 내가 순수 SQL 기반으로이 문제를 해결할 수 있었다 @Gord 톰슨에

+0

[MS Access에서 INTERSECT하는 방법?] (http://stackoverflow.com/questions/22347535/how-to-intersect-in-ms- 접속하다) –

답변

1

감사이의 라인 사이의 전체 데이터 모델 또는 무엇인가 (나의 결정을) 재 설계 할 수있는 옵션이 아니다 . 자세한 솔루션을 보려면이 하위 스레드의 대답을 참조하십시오. How to INTERSECT in MS Access?

관련 문제