Heute stellen wir Ihnen eine Funktion vor, mit der sich eine Datenbanktabelle aus einer externen Quelle (bspw. Access-Datenbank) dauerhaft in die aktiv geöffnete Datenbank einfügen lässt, so dass man anschließend auf die Daten der externen Tabelle so zugreifen kann, als wäre die Tabelle Bestandteil der eigenen Datenbank. Public Function dbCreateLink(ByRef oConn As ADODB.Connection, _ ByVal sExternFile As String, _ ByVal sExternTable As String, _ Optional ByVal sLinkTableName As String = "") As Boolean Dim oCat As ADOX.Catalog Dim oTable As ADOX.Table ' Fehlerbehandlung aktivieren On Error Goto ErrHandler ' Katalog-Objekt der aktiven Connection erstellen Set oCat = New ADOX.Catalog oCat.ActiveConnection = oConn ' neue Tabelle anlegen Set oTable = New ADOX.Table With oTable Set .ParentCatalog = oCat ' Name der Tabelle If Len(sLinkTableName) = 0 Then sLinkTableName = sExternTable .Name = sLinkTableName ' Eigenschaften der neuen Tabelle festlegen .Properties("Jet OLEDB:Create Link") = True .Properties("Jet OLEDB:Link Datasource") = sExternFile .Properties("Jet OLEDB:Remote Table Name") = sExternTable End With oCat.Tables.Append oTable dbCreateLink = True Set oCat = Nothing On Error Goto 0 Exit Function ErrHandler: MsgBox "Tabellenverknüpfung konnte nicht erstellt werden!" & vbCrLf & _ "Fehler " & CStr(Err.Number) & vbCrLf & Err.Description dbCreateLink = False Set oCat = Nothing End Function Für das Hinzufügen einer neuen Tabelle zu einer bestehenden Connection benötigen wir einen Verweis auf die Microsoft ADO Ext 2.x for DDL and Security Library. Aufrufbeispiel: ' Eigene Datenbank öffnen Dim oConn As ADODB.Connection Set oConn = New ADODB.Connection With oConn .Provider = "Microsoft.Jet.OLEDB.4.0" .Properties("Data Source") = App.Path & "\MyMDB.mdb" .Properties("Persist Security Info") = False .Open End With ' jetzt die Tabellenverknüpfung erstellen und hinzufügen If dbCreateLink(oConn, "d:\Test.mdb", "Kunden", "KundenExt") Then ' ... End If Dieser Tipp wurde bereits 14.688 mal aufgerufen.
Anzeige
![]() ![]() ![]() 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. |
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 Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
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. |