vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Datenbanken · ADO.NET Allgemein   |   VB-Versionen: VB2005, VB200819.06.09
Felder einer bestimmten Tabelle aus einer Access-Datenbank ermitteln

Dieses Beispiel zeigt, wie sich mittels ADO.NET und Verwendung der OleDb-Klasse alle Feldnamen einer bestimmten Tabellen einer Access-Datenbank ermitteln lassen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  18.603 
www.tools4vb.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Unser heutiger Tipp zeigt, wie Sie unter Verwendung von ADO.NET und der System.Data.OleDb-Klasse alle Feldnamen einer bestimmten Tabellen einer Access-Datenbank ermitteln können.

Die Funktion ColumnsFromMDBTable gibt die Feldnamen hierbei als ArrayList-Objekt zurück.

Für das Beispiel müssen Sie zunächst den Namespace "System.Data.OleDb" importieren:

Imports System.Data.OleDb

Hier die Funktion, mit der die Feldnamen einer Access-Tabelle ermittelt werden:

''' <summary>
''' Ermittelt alle Feldnamen der angegbenen Access-Tabelle und 
''' gibt diese als ArrayList-Objekt zurück.
''' </summary>
''' <param name="sMDBFile">Pfad zur Access-Datenbank</param>
''' <param name="sTable">Name der Access-Tabelle</param>
Public Function ColumnsFromMDBTable(ByVal sMDBFile As String, _
  ByVal sTable As String) As ArrayList
 
  Dim oColumns As New ArrayList
 
  ' Fehlerbehandlung aktivieren
  Try
    ' Connection-String zusammenstellen
    Dim sConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & sMDBFile
 
    Using oConn As New OleDbConnection(sConn)
 
      ' Connection zur Access-DB herstellen
      oConn.Open()
 
      ' DB-Schema über alle Spalten
      Dim oTable As DataTable = oConn.GetSchema("Columns")
      For Each oRow As DataRow In oTable.Rows
        ' falls es sich um die gesuchte Tabelle handelt, 
        ' jetzt den Feldnamen ausgeben
        If oRow("TABLE_NAME") = sTable Then
          oColumns.Add(oRow("COLUMN_NAME"))
        End If
      Next
 
    End Using
 
  Catch ex As Exception
    ' Bei Fehler, Hinweis anzeigen
    MsgBox("Fehler beim Ermitteln der Access-Tabellenfelder!" & vbCrLf & _
      ex.Message, MsgBoxStyle.Exclamation)
  End Try
  Return oColumns
End Function

Beispiel für den Aufruf:
Es sollen alle Feldnamen der angegebenen Access-Tabelle ermittelt und in einem ListBox-Control angezeigt werden:

Dim sMDBFile As String = "d:\Access.mdb"
Dim oColumns As ArrayList = ColumnsFromMDBTable(sMDBFile, "tblAdressen")
 
ListBox1.Items.Clear
ListBox1.Items.AddRange(oColumns.ToArray)

Dieser Tipp wurde bereits 18.603 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Aktuelle Diskussion anzeigen (1 Beitrag)

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel