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.313 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
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. |