2017-03-21 6 views
0

VBA까지 파일 탐색기에 나타납니다 - 나는 같은 액세스 DB의 이전 기능이 생성 된 서버의 폴더를 삭제 fso.DeleteFolder을 사용하고 액세스은 VBA를 사용하여 폴더를 삭제하고 여전히 다음 반복

. fso.DeleteFolder 코드는 오류없이 실행되고 fso.FolderExists를 실행하면 폴더가 더 이상 존재하지 않는다는 것을 보여줍니다 (삭제 이전에 폴더가 존재한다고 fso.FolderExists가 명시한 경우).

그러나 폴더는 여전히 서버의 파일 탐색기에 나열됩니다. 상쾌하게하는 것이 좋지 않습니다. 서버의 폴더를 두 번 클릭하면 폴더에 액세스 할 수없고 액세스가 거부되었음을 알리는 오류가 표시됩니다 (삭제 이전에는 폴더가 정상 이었음).

폴더에 하위 폴더 및/또는 파일이 있거나 없을 수도 있지만 중요하지 않다고 생각합니다. 다른 폴더 이름을 사용하여 다시 작성/삭제 프로세스를 다시 실행하면 문제가 반복됩니다. 이전 폴더 제외 이제는 파일 탐색기에 더 이상 나열되지 않으며 (실제로는 하나님이 의도 한대로 정말로 삭제되었습니다), 동일한 더블 클릭 오류로 삭제되어야하는 새 폴더로 바뀌 었습니다.

나는 함수의 끝에서 내 fso 객체를 죽인다. 나는 같은 문제가 fso 대신 KILL에서도 발생한다고 생각한다.

어떤 도움이나 생각이라도 고맙겠습니다.

+0

이 방법에 대해 경우 : http://stackoverflow.com/questions/28506725/vba-batch-script -refresh-folder – Absinthe

+0

탐색기에서 레벨 등을 들러서 다시 돌아 왔고 "삭제 된"폴더가 아직 남아 있습니다. 폴더를 수동으로 새로 고침했지만 작동하지 않았습니다. –

+0

잠시 후 - 1 시간 정도가 지나면 자체적으로 해결되며 폴더는 탐색기에 더 이상 나열되지 않습니다. 아마도 이것은 fso에 의한 삭제 이후의 잠금 문제일까요? –

답변

0

방금 ​​문제가 발생했습니다.

어떤 이유로 VBA로 디렉터리를 삭제하면 삭제 된 파일에 "잠금"이 남습니다. 다른 디렉터리 유형 작업을 수행 할 때까지 "잠금"을 플러시합니다. 한 스크립트에서 세 개의 디렉터리를 삭제할 가능성이 높습니다 유일한 "실패"삭제 조치는 마지막 디렉토리에서 삭제된다는 것입니다.

RmDir 작업을 수행 한 후 스크립트 내에서 "디렉토리 읽기"유형 작업을 수행합니다.

... 이런 식으로 뭔가를 시도 디렉터리 ("yourpath") = ""그럼 MKDIR "yourpath"