vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Tabelle Spalteninhalt vergleichen 
Autor: Manfred X
Datum: 16.10.15 06:31

Du verstehst leider nicht, worum es geht.
Lies noch mal diesen Beitrag:
http://www.vbarchiv.net/forum/id22_i98539t98538_tabelle-spalteninhalt-vergleichen.html

Der Inhalt der beiden csv-Dateien wird in Tabellen (Datatables) geladen.
Damit die Datensätze in diesen beiden TABELLEN aufeinander bezogen werden können,
wird jeweils eine ZUSÄTZLICHE Schlüsselspalte NEU erstellt.
Das erledigt die Routine "CreateNumberColumn".
Dieser Routine wird der Name einer Tabellenspalte übergeben, deren
Inhalt zu splitten ist und aus dem der Schlüsselwert erzeugt wird.
In dem obigen Beispiel wird nur die Artikelnummer als Schlüssel verwendet.
(In der Datarelation werden also NICHT die Spalten SP_13 und SP_2 verglichen.)

Danach hast Du festgestellt, daß aus der Artikelnummer kein eindeutiger Schlüssel
ensteht, sondern daß eine Kombination aus Markennname und Artikelnummer benötigt wird.

Soweit ich verstanden habe, steht in beiden Tabellen in der jeweils für den
Schlüsselaufbau relevanten Spalte (SP_2 bzw. SP_13) der Markenname am Anfang
und landet deshalb beim Splitten in parts(0).

Also muß die Routine irgendwie so angepaßt werden - im Detail abhängig vom aktuellen
Aufbau der Datensätze in den csv-Dateien ....
Private Function CreateNumberColumn(ByVal dt As cDataTableCSV, _
    ByVal ColumnEndswithNumber As String) As String
 
    Dim ColumnWithNumber As String = ""
 
    If Not dt.Columns.Contains(ColumnEndswithNumber) Then
       Throw New ArgumentException _
       ("Die Spalte " & ColumnEndswithNumber & _
         " ist nicht in der Tabelle vorhanden")
    End If
 
    dt.AddColumn() 'Spalte in Tabelle anfügen
    'Name der neuen Spalte abfragen
    ColumnWithNumber = dt.Columns(dt.Columns.Count - 1).ColumnName
 
    'Hilfsvariable
    Dim field As String, parts() As String, numberpart As String
    Dim number As Integer
 
    For Each row As DataRow In dt.Rows
 
       field = row(ColumnEndswithNumber).ToString() 'Feldinhalt abfragen
       parts = field.Split(" "c) 'Feldinhalt am Trennzeichen aufspalten 
 
       'Annahme: Artikelnummer steht im letzten Abschnitt
       numberpart = parts(parts.Length - 1) 'Letzter Abschnitt (=Nummer)
 
       'Prüfen, ob der letzte Teilstring als Integer darstellbar ist
       If Integer.TryParse(numberpart, number) Then
          'Annahme: Markenname steht im ersten Abschnitt
          'Markenname_ArtikelNummer in der neuen Spalte eintragen
          row(ColumnWithNumber) = parts(0) & "_" & number.ToString
       Else
          'keine Ziffernfolge im letzten Teilstring !!!
          row(ColumnWithNumber) = DBNull.Value 
       End If
    Next row
 
    'Name der neuen Spalte zurückgeben
    Return ColumnWithNumber
End Function
So lange Du nur den Code kopierst ohne dessen Bedeutung zu verstehen,
kannst Du die eventuell erforderlichen Detailanpassungen nicht vornehmen.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tabelle Spalteninhalt vergleichen6.108Vegas8506.10.15 23:00
Re: Tabelle Spalteninhalt vergleichen4.163Manfred X07.10.15 06:31
Re: Tabelle Spalteninhalt vergleichen3.422Sony8507.10.15 10:13
Re: Tabelle Spalteninhalt vergleichen3.470Manfred X07.10.15 10:37
Re: Tabelle Spalteninhalt vergleichen3.382Vegas8507.10.15 08:53
Re: Tabelle Spalteninhalt vergleichen3.409Manfred X07.10.15 09:34
Re: Tabelle Spalteninhalt vergleichen3.519Sony8507.10.15 11:16
Re: Tabelle Spalteninhalt vergleichen3.469Manfred X07.10.15 12:02
Re: Tabelle Spalteninhalt vergleichen3.412Vegas8507.10.15 22:44
Re: Tabelle Spalteninhalt vergleichen3.391Manfred X08.10.15 06:24
Re: Tabelle Spalteninhalt vergleichen3.418Vegas8508.10.15 08:35
Re: Tabelle Spalteninhalt vergleichen3.417Manfred X08.10.15 09:00
Re: Tabelle Spalteninhalt vergleichen3.347Vegas8508.10.15 09:20
Re: Tabelle Spalteninhalt vergleichen3.453Manfred X08.10.15 09:39
Re: Tabelle Spalteninhalt vergleichen3.477Vegas8508.10.15 10:35
Re: Tabelle Spalteninhalt vergleichen3.475Vegas8508.10.15 10:36
Re: Tabelle Spalteninhalt vergleichen3.559Manfred X08.10.15 11:37
Re: Tabelle Spalteninhalt vergleichen3.375Vegas8508.10.15 17:01
Re: Tabelle Spalteninhalt vergleichen3.425Vegas8509.10.15 08:43
Re: Tabelle Spalteninhalt vergleichen3.410Manfred X09.10.15 09:36
Re: Tabelle Spalteninhalt vergleichen3.355Vegas8509.10.15 18:55
Re: Tabelle Spalteninhalt vergleichen3.308Vegas8509.10.15 23:37
Re: Tabelle Spalteninhalt vergleichen3.338Vegas8515.10.15 00:15
Re: Tabelle Spalteninhalt vergleichen3.338Manfred X15.10.15 06:28
Re: Tabelle Spalteninhalt vergleichen3.315Vegas8515.10.15 08:33
Re: Tabelle Spalteninhalt vergleichen3.320Manfred X15.10.15 08:41
Re: Tabelle Spalteninhalt vergleichen3.304Vegas8515.10.15 22:07
Re: Tabelle Spalteninhalt vergleichen3.435Manfred X16.10.15 06:31
Re: Tabelle Spalteninhalt vergleichen3.255Vegas8521.09.16 21:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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