Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Naprawa bazy danych

24 views
Skip to first unread message

Phantom

unread,
Mar 23, 2020, 7:53:26 AM3/23/20
to
Witam
Kod na naprawę bazy danych przestał działać.
Przesiadłem się z Access2000 na Access2019 i poniższy kod przestał mi działać.
Jest to skrypt vbs dla MSAccess2000 czyli ("Access.Application.9").
Teraz mam bazę z rozszerzeniem accdb.
Próbowałem zmieniać w treści kodu z Access.Application.9 na wyższy numer ale nic to nie daje.
Proszę o pomoc.

' ***************** BEGIN CODE HERE ' *****************
'
Dim objScript
Dim objAccess
Dim strPathToMDB
Dim strMsg

' ///////////// NOTE: User must edit variables in this section /////
'
' The following line of code is the only variable that need be edited
' You must provide a path to the Access MDB which will be compacted
'
strPathToMDB = "C:\Users\mduda\Desktop\Awaria\Dp07baza.accdb"
'
' ////////////////////////////////////////////////////////////////

' Set a name and path for a temporary mdb file
strTempDB = "C:\Users\mduda\Desktop\Awaria\Comp0001.accdb"

' Create Access 97 Application Object
'Set objAccess = CreateObject("Access.Application.8")

' For Access 2000, use Application.9
Set objAccess = CreateObject("Access.Application.9")

' Perform the DB Compact into the temp mdb file
' (If there is a problem, then the original mdb is preserved)
'objAccess.DbEngine.CompactDatabase strPathToMDB ,strTempDB
objAccess.DbEngine.CompactDatabase strPathToMDB ,strTempDB, , , ";pwd=" & "1234"


If Err.Number > 0 Then
' There was an error. Inform the user and halt execution
strMsg = "The following error was encountered while compacting database:"
strMsg = strMsg & vbCrLf & vbCrLf & Err.Description
Else
' Create File System Object to handle file manipulations
Set objScript= CreateObject("Scripting.FileSystemObject")

' Back up the original file as Filename.mdbz. In case of undetermined
' error, it can be recovered by simply removing the terminating "z".
'objScript.CopyFile strPathToMDB , strPathToMDB & "z", True
objScript.CopyFile strPathToMDB , strPathToMDB & "_" & Date(), True

' Copy the compacted mdb by into the original file name
objScript.CopyFile strTempDB, strPathToMDB, True

' We are finished with TempDB. Kill it.
objScript.DeleteFile strTempDB
End If

' Always remember to clean up after yourself
Set objAccess = Nothing
Set objScript = Nothing
'
' ****************** END CODE HERE ' ******************
0 new messages