Article View: pl.comp.bazy-danych.msaccess
Article #137812Naprawa bardzo uszkodzonej bazy danych
From: Phantom
Date: Mon, 25 Apr 2022 11:43
Date: Mon, 25 Apr 2022 11:43
63 lines
4084 bytes
4084 bytes
Witam
Nie piszę której wersji dotyczy problem ponieważ zaraz wszystko się wyjaśni.
Posiadam programik (plik vbs z kodm VB), który naprawia mi bardzo uszkodzone bazy danych (daje radę tam gdzie normalna naprawa i defragmentacja nie daje rady).
Moim problemem jest to że ten programik działa z wersją MsAccess 97 i 2000 a potrzebowałbym żeby to było kompatybilne z wersją dla baz danych z rozszerzeniem .accdb.
Programik na pewno przyda się wielu osobom z tego zacnego grona. Mi wielokrotnie uratował nie powiem co.
Pozdrawiam i proszę o pomoc.
Kod zapisany w pliku vbs poniżej:
' ***************** BEGIN CODE HERE ' *****************
'
Dim objScript
Dim objAccess
Dim strPathToMDB
Dim strMsg
' ///////////// NOTE: Użytkownik musi edytować zmienne w tej sekcji /////
'
' Poniższy wiersz kodu jest jedyną zmienną, którą należy edytować
' Musisz podać ścieżkę do Access MDB, która zostanie skompaktowana
'
strPathToMDB = "D:\TKPD\Baza\ZISPD.mdb"
'
' ////////////////////////////////////////////////////////////////
' Ustaw nazwę i ścieżkę dla tymczasowego pliku mdb
strTempDB = "D:\TKPD\Baza\Comp0001.mdb"
' Utwórz obiekt aplikacji Access 97
'Set objAccess = CreateObject("Access.Application.8")
' Dla Access 2000, użyj Application.9
Set objAccess = CreateObject("Access.Application.9")
' Wykonaj DB Compact w tymczasowym pliku mdb
' (Jeśli wystąpi problem, zachowany jest oryginalny plik mdb)
'objAccess.DbEngine.CompactDatabase strPathToMDB ,strTempDB
objAccess.DbEngine.CompactDatabase strPathToMDB ,strTempDB, , , ";pwd=" & "HasloBazyDanych"
If Err.Number > 0 Then
' Wystąpił błąd. Poinformuj użytkownika i zatrzymaj wykonanie
strMsg = "The following error was encountered while compacting database:"
strMsg = strMsg & vbCrLf & vbCrLf & Err.Description
Else
' Utwórz obiekt systemu plików do obsługi manipulacji plikami
Set objScript= CreateObject("Scripting.FileSystemObject")
' Utwórz kopię zapasową oryginalnego pliku jako Filename.mdbz. W przypadku nieokreślonego błędu można go naprawić, usuwając kończące „z”.
'objScript.CopyFile strPathToMDB , strPathToMDB & "z", True
objScript.CopyFile strPathToMDB , strPathToMDB & "_" & Date(), True
' Skopiuj skompaktowany plik mdb by do oryginalnej nazwy pliku
objScript.CopyFile strTempDB, strPathToMDB, True
' Zakończyliśmy pracę z TempDB. Zabij to.
objScript.DeleteFile strTempDB
End If
' Zawsze pamiętaj o sprzątaniu po sobie
Set objAccess = Nothing
Set objScript = Nothing
'
' ****************** END CODE HERE ' ******************
Technical Details
Message-ID:
<cb35185b-83a9-44ab-b345-5b695559bb81n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 2002:ac8:5f09:0:b0:2f3:7005:6f58 with SMTP id x9-20020ac85f09000000b002f370056f58mr619910qta.439.1650887038683; Mon, 25 Apr 2022 04:43:58 -0700 (PDT) X-Received: by 2002:a05:6902:1082:b0:63e:145c:dc55 with SMTP id v2-20020a056902108200b0063e145cdc55mr15705790ybu.283.1650887038398; Mon, 25 Apr 2022 04:43:58 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.bazy-danych.msaccess Date: Mon, 25 Apr 2022 04:43:58 -0700 (PDT) Injection-Info: google-groups.googlegroups.com; posting-host=193.56.104.49; posting-account=ktj0zQoAAADJqs80HwZLH7C5CXWNQqRK NNTP-Posting-Host: 193.56.104.49 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <cb35185b-83a9-44ab-b345-5b695559bb81n@googlegroups.com> Subject: Naprawa bardzo uszkodzonej bazy danych From: Phantom <biuro.tekaoprogramowanie@gmail.com> Injection-Date: Mon, 25 Apr 2022 11:43:58 +0000 Lines: 77 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit