Rubrik: Datenbanken · ADO | VB-Versionen: VB5, VB6 | 09.08.05 |
Welche ADO-Version ist installiet? Eine Routine zum Ermitteln der installierten ADO Version | ||
Autor: Roland Wutzke | Bewertung: | Views: 13.968 |
www.vb-power.net | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sie haben eine VB Applikation entwickelt, die per ADO Zugriff auf eine Datenbank nimmt. Dazu nutzen Sie z.B. die ADO Version 2.8. Ihre Applikation ist fertig und es geht ans verteilen. Nun müssen Sie sicherstellen, dass auf dem Ziel-PC die gleiche ADO Version oder eine höhere installiert ist.
Nachfolgend zeigen wir Ihnen eine Routine, die die aktuelle ADO Version ermittelt, ohne einen Verweis auf ADO selber im Projekt eingebunden zu haben. Dazu erzeugen wir einfach ein ADO-Objekt via Late-Binding und fangen der Error-Status ab.
Kopieren Sie den folgenden Code am besten in ein Modul:
Public Function CheckADO(Optional ByRef lVer As Long) As String Dim oADO As Object ' Über Late-Binding einen Verweis auf ADO holen On Error Resume Next Set oADO = CreateObject("ADODB.Connection") On Error GoTo 0 ' Checken, ob ADO vorhanden und Rückgabe besetzen If Err.Number <> 0 Then CheckADO = "-1" lVer = -1 Else CheckADO = oADO.Version lVer = CLng(oADO.Version) End If ' Objekt zerstören Set oADO = Nothing End Function
Die Funktion liefert Ihnen als Rückgabewert einen String mit der aktuellen Version. Ist kein ADO installiert, liefert die Routine "-1". Über den referenzierten Parameter "lVer" wird die Version als Long zurückgegeben.
Funktionsbeispiel:
Platzieren Sie auf einer Form zwei Command-Buttons (Command1 und Command2) und kopieren den nachfolgenden Code in das Codefenster der Form:
Option Explicit Private Sub Command1_Click() If CheckADO = "-1" Then MsgBox "Kein ADO installiert", vbCritical Else MsgBox "ADO Version " & CheckADO & " ist installiert", vbInformation End If End Sub Private Sub Command2_Click() Dim lTmp As Long If CheckADO(lTmp) <> "-1" Then ' Auf Version 2.8 oder höher prüfen If lTmp >= 28 Then MsgBox "ADO Version 2.8 oder höher ist installiert." Else MsgBox "Sie benötigen min. die ADO Version 2.8. Bitte installieren" End If Else MsgBox "Kein ADO installiert" End If End Sub