Freigeben über

Auslesen der Access-Info

Anonym
2015-09-18T08:58:13+00:00

Ich habe den nachstehenden Code in einer Schaltfläche einer Access-Datenbank hinterlegt. Nach Anklicken der Schaltfläche wird mir in einer Meldung die Microsoft Bezeichnung für die Access-Version und die für das Service Pack angezeigt.

Der Code hat folgenden Wortlaut:

Private Sub PC_AccessVersion_Click()

Dim Servicepack As String

Servicepack = SysCmd(715)

Dim AccessVersion

AccessVersion = SysCmd(acSysCmdAccessVer)

FormattedMsgBox "Microsoft Access @@" & _

"Sie arbeiten mit folgendem Access-Programm und Service Pack: " & Chr(13) & Chr(13) & _

"Microsoft Bezeichnung " & AccessVersion & " für Microsoft Access" & Chr(13) & _

"Microsoft Bezeichnung " & Servicepack & " für Service Pack" & Chr(13), _

vbOKOnly + vbCritical, "Microsoft Access"

Exit Sub

End Sub

♦♦♦

Wenn ich zum Beispiel in einer Access 2003-Datenbank mit Service Pack 3 diese Schaltfläche anklicke, erhalte ich folgende Meldung:

Microsoft Access

Sie arbeiten mit folgendem Access-Programm und Service Pack

Microsoft Bezeichnung 11.0 für Access

Microsoft Bezeichnung 8321 für Service Pack

OK

♦♦♦

Kann man diesen Code dahingehend modifizieren, daß automatisch die Access-Bezeichnung ergänzt wird (im Beispiel bleibend) um Access 2003 und die Service Pack-Bezeichnung automatisch ergänzt wird (im Beispiel bleibend) um SP 3 ? Die Case-Methode hilft mir nicht wirklich, weil die einzelnen Werte ständig manuell angefügt werden müßten.

Über eine Rückmeldung freut und bedankt sich

Urchin

Microsoft 365 und Office | Access | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

Antwort, die vom Frageautor angenommen wurde

Anonym
2015-09-21T13:13:44+00:00

Hallo Urchin,

den Link den ich auf die Schnelle gefunden habe hatte ich oben schon gepostet. Hier die Liste bis 2010 SP1

Select Case Servicepack

Case 2719

SP = "Microsoft Access 2000 kein SP"

Case 3822

SP = "Microsoft Access 2000 SP1"

Case 4506

SP = "Microsoft Access 2000 SP2"

Case 6620

SP = "Microsoft Access 2000 SP3"

Case 2627

SP = "Microsoft Access 2002(XP) kein SP"

Case 3409

SP = "Microsoft Access 2002(XP) SP1"

Case 4302

SP = "Microsoft Access 2002(XP) SP2"

Case 6771

SP = "Microsoft Access 2002(XP) SP3"

Case 5614

SP = "Microsoft Access 2003 kein SP"

Case 6355

SP = "Microsoft Access 2003 SP1"

Case 6566

SP = "Microsoft Access 2003 SP2"

Case 8321

SP = "Microsoft Access 2003 SP3"

Case 4518

SP = "Microsoft Access 2007 kein SP"

Case 6211

SP = "Microsoft Access 2007 SP1"

Case 6423

SP = "Microsoft Access 2007 SP2"

Case 6603

SP = "Microsoft Access 2007 SP3"

Case 4750

SP = "Microsoft Access 2010 kein SP"

Case 6023

SP = "Microsoft Access 2010 SP1"

Case Else

SP = "Name der Access-Version und des Service Pack" & Chr(13) & _

"unbekannt"

End Select

Viele Grüße

Mike

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare

5 zusätzliche Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2015-09-18T11:56:09+00:00

    Hallo Urchin,

    da Microsoft die Versionen nicht fortlaufend nummeriert und auch nirgend eine mir bekannte solche Funktion hinterlegt hat schreibe ich mal Nein. Du könntest die Übersetzungen in eine Tabelle schreiben die Du dann eben alle 2 bis 3 Jahre um einen Wert erweitern müsstest. Beim Servicepack naturgemäß etwas öfter.

    Wichtig ist halt der Else Zweig in dem das originale Ergebnis ausgegeben wird falls Du eben keine Übersetzung gepflegt hast.

    Viele Grüße

    Mike

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2015-09-18T11:26:06+00:00

    Hallo Mike,

    die Case-Methode hilft mir nicht wirklich, weil die einzelnen Werte ständig manuell angefügt werden müßten.

    Gibt es keinen Code, der automatisch den Namen der Access-Version (im Beispiel bleibend) mit Access 2003 und den Namen des Service Pack (im Beispiel bleibend) mit SP 3 übersetzt ?

    Oder anders gefragt: Gibt es einen Code, der die Access-Info auslesen kann, in der diese Angaben enthalten sind ?

    Gruß Urchin

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  3. Anonym
    2015-09-18T10:24:41+00:00

    Hier findet man übrigens eine Kleine Auswahl an Servicepacknummern: http://www.ms-office-forum.net/forum/archive/index.php?t-308743.html

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  4. Anonym
    2015-09-18T10:23:10+00:00

    Hallo Urchin,

    davon abgesehen dass Du die variablen alle als Variant deklariert hast ist Dein Code schon vollkommen korrekt.

    Was dir fehlt ist ein Übersetzer den Du Dir aber leider selbst schreiben musst.

    statt:

    Dim AccessVersion

    AccessVersion = SysCmd(acSysCmdAccessVer)

    dann:

    Dim AccessVersion as String

    SELECT CASE access.Version

        CASE "11.0"

            AccessVersion = "Access 2003"

        CASE "12.0"

            AccessVersion = "Access 2007"

        CASE "14.0"

            AccessVersion = "Access 2010"

        CASE "15.0"

            AccessVersion = "Access 2013"

        CASE ELSE

            AccessVersion = SysCmd(acSysCmdAccessVer)

    END SELECT

    Beim Servicepack kannst Du das selbe machen, allerdings gibt es da so viele Nummern die ich erst googeln müsste dass ich persönlich darauf verzichten würde.

    Viel Spaß damit!

    Gruß Mike

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare