Diese Funktion ermittelt anhand der Windows-Registry die installierte Access-Version und gibt die entsprechenden Infos zurück. Imports Microsoft.Win32 Imports System.Text ''' <summary> ''' Access-Informationen aus der Registrierdatenbank ermitteln ''' </summary> ''' <param name="VersionsNumber">Rückgabe: Die extrahierte Versionsnummer</param> ''' <param name="VersionsString">Rückgabe: Die ermittelte Access Version</param> ''' <returns>Der ermittelte Wert des Eintragsnamens</returns> Private Function GetMSAccessInformation(ByRef VersionsNumber As Integer, _ ByRef VersionsString As String) As String ' Ergebnisvariable zur Aufname des Eintragswertes Dim Result As String = String.Empty ' Schlüssel in der Registrierdatenbank oeffnen Using rk As RegistryKey = _ Registry.ClassesRoot.OpenSubKey("Access.Application\CurVer", False) ' Konnte der Pfad geöffnet werden... If rk IsNot Nothing Then ' ... wird der Wert ausgelesen und an die Variable Result übergeben. Result = CType(rk.GetValue(""), String) ' Zur Übergabe an die Variable VersionsNumber wird der Wert aus der ' Variable Result extrahiert... VersionsNumber = CType(Result.Substring( _ Result.LastIndexOf(".") + 1), Integer) ' ...und zur Übergabe and die Variable VersionsString ausgewertet. Select Case VersionsNumber Case 8 VersionsString = "Microsoft Access 97" Case 9 VersionsString = "Microsoft Access 2000" Case 10 VersionsString = "Microsoft Access 2002 / XP" Case 11 VersionsString = "Microsoft Access 2003" Case 12 VersionsString = "Microsoft Access 2007" Case Else VersionsString = "Unbekannt" End Select Else ' Konnte der Pfad in der Registrierdatenbank nicht ausgewertet werden ' wird dieString-Variable Result mit "Fehler" initialisiert. Result = "Fehler" End If End Using Return Result End Function Beispiel für den Aufruf: ' Übernimmt die Versionsnummer Dim VersionsNumber As Integer = -1 ' Übernimmt die Access-Versions Dim VersionsString As String = String.Empty ' Result übernimmt den aus der Registriedatenbank ' ermittelten(Eintragswert) Dim Result As String = GetMSAccessInformation( _ VersionsNumber, VersionsString) ' Beinhaltet das Ergebnis den Wert Fehler... If Result.Equals("Fehler") Then '...wird ein Hinweis ausgegeben, dass die Informationen ' nicht ermittelt werden konnten... MessageBox.Show("Informationen konnten nicht ermittelt werden.", "Info") Else ' ...ansonsten werden die einzelnen Variablen-Werte an einen ' StringBuilder übergeben und zusammengesetzt. Dim sb As StringBuilder = New StringBuilder With sb .Append("n/" & Result) .Append("n/" & CType(VersionsNumber, String)) .Append("n/" & VersionsString) .Replace("n/", System.Environment.NewLine()) End With MessageBox.Show(sb.ToString(), "Info") End If Dieser Tipp wurde bereits 16.097 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... Tipp des Monats ![]() Dieter Otter OptionButton - Status wechsle dich Dieses Beispiel zeigt, wie sich der Status eines einzelnen OptionButtons wechseln lässt TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |