PrivateSub frmCSV2_Load(sender As System.Object, _
e As System.EventArgs)HandlesMyBase.Load
ds.Tables.Add(LoadCSV("C:\downloads\csv1.csv"))
ds.Tables.Add(LoadCSV("C:\downloads\csv2.csv"))IfNot ds.Tables.Count = 2ThenMessageBox.Show("Eine Datei konnte nicht gelesen werden")ExitSubEndIf'Datarelation Dim dr AsNew DataRelation _
("Artikel", ds.Tables(0).Columns("SP_2"), _
ds.Tables(1).Columns("SP_13"), False)
ds.Relations.Add(dr)'Spalten in Ausgabedatei erstellen
dtout = New cDataTableCSV
dtout.Columns.Add("SP_0") : dtout.Columns.Add("SP_1")
dtout.Columns.Add("SP_2")Try'Schleife über csv1-Zeilen (=Parent)ForEach prow As DataRow In ds.Tables(0).Rows'Suchkriterium in csv1If DirectCast(prow("SP_10"), String) = "out of stock"Then'per Relation zugeordnete Childrow in csv2 ForEach crow As DataRow In prow.GetChildRows(dr)'Ausgabedatensatz aufbauenDim orow As DataRow = dtout.NewRow
orow("SP_0") = "End"
orow("SP_1") = prow("SP_2")
orow("SP_2") = prow("SP_10")
dtout.Rows.Add(orow)Next crow
EndIfNext prow
Catch ex As Exception
MessageBox.Show("Abbruch - Fehler: " & ex.Message)ExitSubEndTry'Zeilen als Datei ausgebenIfNot dtout.SaveFile("C:\daten\csv_out.csv", ";"c)ThenMessageBox.Show("Fehler beim Schreiben der Datei")ElseMessageBox.Show _
(dtout.Rows.Count.ToString & " Zeilen sind geschrieben worden")EndIfEndSub
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek.
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