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.273 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 März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access |
||||||||||||||||
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. |