문제

에서 클라이언트을하고 빠른 해결 액세스 응용 프로그램.그 동안 나는 가스,그러나 나는 빠르게 회복.그러나,발견했습니다 흥미로운 문제점:

일부 보고,나는"기록은 삭제"오류가 있습니다.나는 검사 보고서,그리고 그것은 것 같 문제가 있으로 한 테이블.열 때는 테이블,내가 찾는 모든 열에 표시되"#"삭제.그렇게 분명히 이 행 될 것으로 보인 원인이다.그러나 때을 삭제하려고 시도하는 행,정말 아무것도 발생합니다.면 내가 다시 열리는 테이블,행 여전히 존재합니다.

가 손상에 db?어떻게 제거할 수 있는 이 레코드에 대한 좋은?

편집: 그것은 MS2000-전

솔루션: 단순히 압축/복구 작동하지 않았습니다.나는 변환된 데이터베이스를 2003 파일 형식을 대신했습니다.나는 처음으로 응답이 제안을 압축/복구하기 때문에,지적이 나서 오른쪽 방향입니다.감사합니다!

도움이 되었습니까?

해결책

당신은 시장에서 액세스형/복구 도구는?이 넘치는 삭제된 레코드 데이터베이스에서.

정확한 위치에 따라 다릅 버전의 액세스를 실행하지만,에 액세스 2003 년 그것은 아래의 도구>데이터베이스 유틸리티>소형 및 수리 데이터베이스입니다.일부의 이전 버전의 액세스가 두구-중 하나를 위한 컴팩트한 하나의 수리를 위해-그러나 그들에서 액세스 유사한 위치에 있습니다.별도의 경우 버전에 클라이언트를 실행해야 합니다.

이 비파괴적인 작업이지만,그것은 최고의 것을 테스트하는 이에서의 복사본을 MDB 파일(에 대한 사과를 알리는 명백한).

다른 팁

Tony Toews 액세스 MVP,는 포괄적인 가이드 손상:

손상 Access Mdb FAQ

  • 일부 손상을 증상
  • 을 결정하는 워크스테이션 발생하는 손상을
  • 손상 원인
  • 신의 데이터를 검색

으로,따로 디컴파일 은 매우 유용한 정렬 이상한 사건 때 코딩과 향상을 위한 시간을 단축시켜 준다는 것입니다.

수도 있습이 Command line utility

//andy

압축 가져와서 문제를 해결하지 않을 것에 대해 오류보고,명확하게 손상된 포인터를 위한 메모 필드입니다.은 당신이 할 수있는 유일한 방법은 삭제하고 다시 기록하는 것이 문제를 일으킬 수 있습니다.를 찾을 필요가있는 방법을 편집 메모 데이터(거나 메모 필드십시요 당신이 정말로 필요 이상 255 문자 또는지?) 는 노출하지 않을 손상에 위험이 있습니다.는 것을 의미를 피하고 바 컨트롤에 대한 양식의 메모 필드가 있습니다.

대신 사용하여 약속 안함 텍스트 상자에서 양식의 OnCurrent 이벤트 할당한 현재 데이터 형태의 기본 레코드 원본:

  Me!txtMyMemo = Me!MyMemo

에 대한 수정사항을 저장하여 약속 안함 제어 사용을 제어의 AfterUpdate 이벤트:

  Me!MyMemo = Me!txtMyMemo
  Me.Dirty = False        ' save the whole record

왜 메모 필드를 주제를 손상?지지 않기 때문에 저장된 동일한 데이터 페이지가 아닌 메모 필드지만,대신 모든 것은 기록에서의 주요 데이터 페이지입니다 포인터를 다른 어떤 데이터 페이지(또는 일련의 데이터 페이지의 경우에 데이터의 큰 덩어리)실제 메모 데이터가 저장됩니다.는 경우 그것은 완료되지 않은 이 방법으로 레코드 메모에서 그것은 매우 빠르게 초과하는 최대 레코드 길이 있습니다.

포인터입니다 상대적으로 쉽게 손상,대부분에 의해 치명적인 문제를 편집하는 동안에 바인딩 제어합니다.편집으로 약속 안함 제어를 제거하지 않는 문제는 전적으로,하지만 의미있는 시간에 당신에 노출 위험은 매우,매우 짧은(즉,시간이 걸리는 사람들을 위해 두 줄의 코드를 실행에 AfterUpdate 이벤트).

옵션 이외에도 이미 위에 게시,사용 또 다른 간단한 방법을뿐만 아니라:단순히 새로운 MDB 파일을 가져오는 모든 물체에 손상된 하나입니다.을 얻을 것을 잊지 마세스 및/또는 숨겨진 개체에 갈 때 당신은 이 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top