Zum Inhalt springen

DB kompirmieren per VB


mwarlich

Empfohlene Beiträge

Moin zusammen!

aaalso...

Ich kopiere regelmäßig eine DB mit der ich arbeite auf einen Server. Nun ist die DB meist 12 MB gross und wenn ich sie komprimiere ist sie nur noch 4,5 MB gross.

Meine Idee ist es nun, ein Programm oder Script zu schreiben welches die DB (Access 2000) automatisch komprimiert und dann kopiert.

Kopieren ist nun wirklich kein Thema... aber das komprimieren. Ich weiss gar nicht ob das überhaupt möglich ist. gibts da ne API oder sowas? kennt sich jemand damit aus? als Programmiersprache würde ich gerne VB 6.0 einsetzen, aber .NET wäre auch möglich.

Kann mir da jemand helfen?

Thx for help and tipps

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm also es wurde mir in einem anderen Form schneller geholfen (soll keine Wertung sein, ich schätze das Forum hier sehr auch wenn ich mehr lese als schreibe)

Falls nun aber wer etwas ähnliches machen möchte, oder mal danach sucht, poste ich hier mal den Code:



dim oAccess

dim oCheck

dim sFolder 

dim oFSO

dim sNewDB


const WORKDB = "C:\work.mdb"

const OLDDB = "c:\old.mdb"

const NEWFOLDER = "Z:\ZielLaufwerk+Folde"

const DBNAME = "speichername.mdb"



  sFolder = NEWFOLDER & GetDateFolder

  sNewDB = sFolder & "\" & DBNAME


  set oFSO = CreateObject("Scripting.FileSystemObject")


  if not oFSO.FolderExists(sFolder) then

    oFSO.CreateFolder sFolder

  end if 


  if oFSO.FileExists(sNewDB) then

    oFSO.DeleteFile(sNewDB)

  end if


  ' set oCheck = GetObject(,"Access.Application") 

'   

'   if not oCheck is nothing then

'     if oCheck.

'   end if


  set oAccess = CreateObject("Access.Application")

  oAccess.OpenCurrentDatabase WORKDB

  oAccess.DBEngine.CompactDatabase OLDDB , sNewDB


  oAccess.CloseCurrentDatabase 

  oAccess.Quit 2


  set oAccess = Nothing

  set oFSO = Nothing


  msgbox "Fertig"



function GetDateFolder

  GetDateFolder = cstr(year(date)) & "_" & M2D(cstr(month(date))) & "_" & M2D(cstr(day(date)))

end function


function M2D(n)

  if len(n) = 1 then

    n = "0" & n

  end if

  M2D = n

end function

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...