Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Feststellen des Access-Datenbankformats
zurück: Transparente Bilder auf Buttons weiter: Inhalte zwischen Listboxen verschieben Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
JMalberg
Es wird so langsam sinnig ...


Verfasst am:
09. Mai 2012, 14:23
Rufname:
Wohnort: Saarbrücken

Feststellen des Access-Datenbankformats - Feststellen des Access-Datenbankformats

Nach oben
       Version: (keine Angabe möglich)

Hallo,

hier findet ihr zwei Funktionen um das Datenbankformat einer Access-Datenbankdatei festzustellen, da man dies nicht anhand der Datei-Erweiterung feststellen kann.

Den Funktionen wird als String der komplette Dateiname inkl. Pfad und optional ein Password mitgegeben. Der Returnwert ist ein Zahl (Byte) bzw String.
Code:
Public Function GetAccessVersionDB(TestDBname As String, Optional Password As String = "") As Byte
' Referenz setzen auf Microsoft DAO 3.6 Library
    Dim wrk As DAO.Workspace
    Dim db As DAO.Database
    Dim strPWD As String
    Dim bytDbVersion As Byte

    ' Prüfung ob DB-Kennwort angegeben wurde
'    If IsNull(Password) Or Password = "" Then
'        strPWD = ";pwd="
'      Else
'        strPWD = ";pwd=" & Password
'    End If
    ' geaendert nach Hinweis von Nouba (by Willi Wipp)
    strPWD = ";pwd=" & Password
    Set wrk = CreateWorkspace("CheckVersion", "admin", "", dbUseJet)
    On Error Resume Next
    Set db = wrk.OpenDatabase(TestDBname, False, False, strPWD)
    If Err.Number = 0 Then
        ' Für Versionen 1.0 und 2.0 wird die Jet Version verwendet, für Versionen darüber die AccessVersion property.
        bytDbVersion = Val(db.Version)
        Select Case bytDbVersion
          Case Is > 4:
            Select Case bytDbVersion
              Case 12:
                GetAccessVersionDB = 12
              'Case 14:
              '  GetAccessVersionDB = 14
              Case Else
                GetAccessVersionDB = bytDbVersion
            End Select
          Case 3 To 4:
            Select Case db.Properties("AccessVersion")
              Case "09.50":       GetAccessVersionDB = 11
              Case "08.50":       GetAccessVersionDB = 9
              Case "07.53":       GetAccessVersionDB = 8
              Case "06.68":       GetAccessVersionDB = 7
              'Case Else:          GetAccessVersionDB = Val(db.Properties("AccessVersion"))
            End Select
          Case Is < 3:
            Select Case db.Version
              Case "2.0":         GetAccessVersionDB = 2
              Case "1.0":         GetAccessVersionDB = 1
              Case Else:          GetAccessVersionDB = Val(db.Version)
            End Select
        End Select
      ElseIf Err.Number = 3045 Then
        GetAccessVersionDB = 253
      ElseIf Err.Number = 3033 Then
        GetAccessVersionDB = 254
      Else
        GetAccessVersionDB = 255
    End If
    If Not db Is Nothing Then
        db.Close
        Set db = Nothing
    End If
    wrk.Close
    Set wrk = Nothing
End Function

Public Function GetAccessVersionDBtext(TestDBname As String, Optional Password As String) As String
    Select Case GetAccessVersionDB(TestDBname, Password)
      Case 1:     GetAccessVersionDBtext = "Access 1.0"
      Case 2:     GetAccessVersionDBtext = "Access 2.0"
      Case 7:     GetAccessVersionDBtext = "Access 95"
      Case 8:     GetAccessVersionDBtext = "Access 97"
      Case 9:     GetAccessVersionDBtext = "Access 2000"
      Case 10:    GetAccessVersionDBtext = "Access 2002/XP"
      Case 11:    GetAccessVersionDBtext = "Access 2003"
      Case 12:    GetAccessVersionDBtext = "Access 2007"
      'Case 14:    GetAccessVersionDBtext = "Access 2010"
    End Select
End Function

_________________
Gruß
Jürgen

Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie!
Nouba
nicht ganz unwissend :)


Verfasst am:
11. Mai 2012, 01:47
Rufname:
Wohnort: Berlin


AW: Feststellen des Access-Datenbankformats - AW: Feststellen des Access-Datenbankformats

Nach oben
       Version: (keine Angabe möglich)

Hallo Jürgen,

der Anfang der Funktion kann noch auf strPWD = ";pwd=" & Password gekürzt werden.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Programmierung / VBA: Feststellen wie Formular geschlössen wird 3 ChBielmeier 73 27. Sep 2013, 13:13
MissPh! Feststellen wie Formular geschlössen wird
Keine neuen Beiträge Access Programmierung / VBA: Feststellen, ob ein Tabellenfeld das Attribut 'Autowert' hat 10 indscho 269 23. Jan 2013, 20:05
Nouba Feststellen, ob ein Tabellenfeld das Attribut 'Autowert' hat
Keine neuen Beiträge Access Programmierung / VBA: Feststellen der Version einer AccDB/MDB 6 JMalberg 378 18. Nov 2012, 13:41
JMalberg Feststellen der Version einer AccDB/MDB
Keine neuen Beiträge Access Tabellen & Abfragen: Feststellen, ob Tabelleneintrag den Wert "Ja" hat 2 fundriver77 276 27. Jul 2012, 12:49
fundriver77 Feststellen, ob Tabelleneintrag den Wert "Ja" hat
Keine neuen Beiträge Access Tabellen & Abfragen: Text in einer Spalte selektieren und Anzahl feststellen 10 RJanko 179 28. Jan 2012, 21:11
RJanko Text in einer Spalte selektieren und Anzahl feststellen
Keine neuen Beiträge Access Programmierung / VBA: Feststellen wieviele Recordsets geöffnet sind 3 JMalberg 702 25. Sep 2011, 13:34
steffen0815 Feststellen wieviele Recordsets geöffnet sind
Keine neuen Beiträge Access Programmierung / VBA: In Access feststellen, welche Excel-Dateien offen sind? 4 tiger17 1325 15. Sep 2010, 13:19
tiger17 In Access feststellen, welche Excel-Dateien offen sind?
Keine neuen Beiträge Access Programmierung / VBA: Registersteuerelement/TabControl: Aktive Seite feststellen 2 tooones 3687 12. März 2010, 15:31
tooones Registersteuerelement/TabControl: Aktive Seite feststellen
Keine neuen Beiträge Access Programmierung / VBA: Frontendversion feststellen 9 gisiangel 391 21. Feb 2010, 20:16
gisiangel Frontendversion feststellen
Keine neuen Beiträge Access Formulare: Feststellen der aktuellen SubForm.Form.RecordSource 3 martin_f 373 08. Feb 2009, 21:15
jens05 Feststellen der aktuellen SubForm.Form.RecordSource
Keine neuen Beiträge Access Programmierung / VBA: Datentyp von Spalten einer Tabelle feststellen 1 Maks 604 04. Jul 2007, 18:47
rita2008 Datentyp von Spalten einer Tabelle feststellen
Keine neuen Beiträge Access Berichte: Mitte der Seite feststellen 1 Emilie-Joy 464 06. Dez 2006, 11:30
jens05 Mitte der Seite feststellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum