Comment combiner plusieurs tables de données dans un DataTable.?

Je suis en utilisant la base de données Microsoft Access (Merci de ne pas m'en suggérer d'utiliser une autre base de données depuis je n ' avez pas de choix dans cette situation particulière). Depuis l'Accès de la Base de données de la Table ne peut pas avoir plus de 255 colonnes, je suis en utilisant la verticale de la base de données de la partition de la technique où j'ai découpé des informations dans 5 différentes tables. Chaque table dispose de 100 colonnes, et la première colonne est une clé primaire. (Merci de ne pas me suggère, Normalisation de Base de données ici). Maintenant, j'ai besoin de lire des données à partir de ces cinq tables afin que je puisse l'exporter sous forme de fichier Excel.

Dans les autres pour obtenir ce que j'ai fait les étapes suivantes, mais ne pouvait pas comprendre comment les combiner plusieurs tables.

  1. Je suis à la lecture de chacun de ces tableaux et la mise en séparer DataTable dans le même ensemble de données.
    (Depuis que je suis en utilisant l'Accès de base de données je ne peux pas sélectionner toutes les colonnes de toutes les tables)

  2. J'ai déclaré la Relation de ces cinq tables

  3. Maintenant, j'ai besoin de combiner ces tables de données dans une DataTable. Cela signifie que je vais avoir le total de 496 colonnes. Je suis en éliminant les clés primaires à partir de 4 tables puisque c'est la même information.
    Comment puis-je faire cela?

    Dim conn As OleDbConnection = New OleDbConnection
    Conn ="Connection string stuff goes"
    Dim FinalDS As New DataSet
    Dim DataSet1 As New DataSet
    Dim DataSet2 As New DataSet
    SQLstr1 = "SELECT * FROM Table1"
    SQLstr2 = "SELECT * FROM Table2"
    SQLstr3 = "SELECT * FROM Table3"
    SQLstr4 = "SELECT * FROM Table4"
    SQLstr5 = "SELECT * FROM Table5"
    Dim DA1 As New OleDb.OleDbDataAdapter(SQLstr1, cn)
    Dim DA2 As New OleDb.OleDbDataAdapter(SQLstr2, cn)
    Dim DA3 As New OleDb.OleDbDataAdapter(SQLstr3, cn)
    Dim DA4 As New OleDb.OleDbDataAdapter(SQLstr4, cn)
    Dim DA5 As New OleDb.OleDbDataAdapter(SQLstr5, cn)
    Try
    DA1.Fill(FinalDS, "Tl")
    DA2.Fill(FinalDS, "T2")
    DA3.Fill(FinalDS, "T3")
    DA4.Fill(FinalDS, "T4")
    DA5.Fill(FinalDS, "T5")
    Dim DataRelation1 As New DataRelation("R1", _
    FinalDS.Tables("T1").Columns("ID"), _
    FinalDS.Tables("T2").Columns("ID"))
    Dim DataRelation2 As New DataRelation("R2", _
    FinalDS.Tables("T2").Columns("ID"), _
    FinalDS.Tables("T3").Columns("ID"))
    Dim DataRelation3 As New DataRelation("R3", _
    FinalDS.Tables("T3").Columns("ID"), _
    FinalDS.Tables("T4").Columns("ID"))
    Dim DataRelation4 As New DataRelation("R4", _
    FinalDS.Tables("T4").Columns("ID"), _
    FinalDS.Tables("T5").Columns("ID"))
    FinalDS.Relations.Add(DataRelation1)
    FinalDS.Relations.Add(DataRelation2)
    FinalDS.Relations.Add(DataRelation3)
    FinalDS.Relations.Add(DataRelation4)
    FinalDS.Relations.Add(DataRelation5)
    'Here I need to combine all these five DataTables into one DataTable
    'So that I can use Export it to excel from that one Final DataTable instead of  reading data from five different DataTables.
    'My Exporting to excel logies goes here which simply supporse to reads data from final DataTable which has 496 columns.
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
  • oui, vous avez raison, j'ai été curieux et testé avec 300 champs joints. Obtenez de l'exception "Trop de champs définis' - Supprimé ma réponse
InformationsquelleAutor Shai | 2012-04-06