Dieser Tipp zeigt, wie man eine Datenverbindung dauerhaft als Benutzer-DSN bzw. System-DSN per Code erstellen kann (Systemsteuerung - Verwaltung - ODBC-Datenquellen). Fügen Sie nachfolgenden Code in ein Modul ein: Option Explicit ' API-Deklaration Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" ( _ ByVal hwndParent As Long, _ ByVal fRequest As Long, _ ByVal lpszDriver As String, _ ByVal lpszAttributes As String) As Long ' Konstanten Private Const ODBC_ADD_DSN = 1 Private Const ODBC_ADD_SYS_DSN = 4 ' DSN-Verbindung erstellen Public Function AddDSN(ByVal sDSNName As String, _ ByVal sPath As String, _ Optional ByVal sDescription As String = "", _ Optional ByVal sDriverName As String = "Microsoft Access Driver (*.mdb)", _ Optional ByVal sUser As String = "", _ Optional ByVal sPwd As String = "", _ Optional ByVal bSystemDSN As Boolean = False) As Boolean Dim nResult As Long Dim nRequest As Long Dim sAttr As String ' Benutzer-DSN oder System-DSN? nRequest = IIf(bSystemDSN, ODBC_ADD_SYS_DSN, ODBC_ADD_DSN) If InStr(1, sDriverName, "SQL Server", vbTextCompare) > 0 Then ' SQL-Server Dim sServer As String ' Prüfen, ob Serverpfad angegeben... If InStr(sPath, "\") > 0 Then sServer = Left$(sPath, InStr(sPath, "\") - 1) sPath = Mid$(sPath, InStr(sPath, "\") + 1) Else ' Falls nicht, lokalen SQL-Server verwenden sServer = "(local)" End If sAttr = "DSN=" + sDSNName & Chr$(0) & _ "SERVER=" & sServer & Chr$(0) & _ "DATABASE=" & sPath & Chr$(0) & _ "TRUSTED_CONNECTION=True" & Chr$(0) & _ "DESCRIPTION=" + sDescription & Chr$(0) Else ' Verbindungs-Attribute sAttr = "DSN=" + sDSNName & Chr$(0) & _ "DBQ=" + sPath & Chr$(0) & _ "UID=" & sUser & Chr$(0) & _ "PWD=" & sPwd & Chr$(0) & _ "DESCRIPTION=" + sDescription & Chr$(0) End If ' DSN-Verbindung einrichten nResult = SQLConfigDataSource(0&, nRequest, sDriverName & Chr$(0), sAttr) AddDSN = (nResult = 1) End Function Nachfolgend eine Auflistung der wichtigsten Datenbank-Treiber, die im optionalen Parameter sDriverName angegeben werden können:
Beispiel 1: Dim bResult As Boolean bResult = AddDSN("MyAccessDSN", App.Path & "\KUNDEN.MDB") If Not bResult Then MsgBox "DSN konnte nicht erstellt werden!" Beispiel 2: Dim bResult As Boolean bResult = AddDSN("MySQLDSN", "KUNDEN", , "SQL Server", , , True) If Not bResult Then MsgBox "DSN konnte nicht erstellt werden!" Beispiel 3: Dim bResult As Boolean bResult = AddDSN("MySQLDSN", "SERVER\KUNDEN", , "SQL Server") If Not bResult Then MsgBox "DSN konnte nicht erstellt werden!" Dieser Tipp wurde bereits 25.190 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]! - 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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. 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. |