Hallo,
ich möchte gerne bestimmte Spalten zweier DataGridViews (inkl. DataTables) vergleichen. Die Übereinstimmungen sollen in einem 3. DataGridView, und der Rest in einem 4. DataGridView ausgegeben werden.
DataGridView1 sieht in etwa so aus: Spalte 1 = ID, Spalte2=Titel, Spalte 3=Vorname, Spalte 4=Nachname, Spalte5=Telefonnummer, Spalte 6=Straße
DataGridView2 sieht in etwa so aus: Spalte 1=Vorname, Spalte 2=Nachname, Spalte 3=Straße
Mein Pseudo-Code würde in etwa so aussehen:
Für jede DataGridView2.Zeile in Spalte 3
Suche in DataGridView1.Zeile in Spalte 6
Wenn gefunden, dann schreibe in DataGridView3 Spalte 1 bis 6 aus DataGridView1,
ansonsten schreibe Spalte 1 bis 6 in DataGridView4
Da hier aus DataGridView2 Personen in DataGridView1 nach den Straßen gesucht werden soll, hab ich mir überlegt, dass es passieren könnte, dass jem. z.B. die Straßennamen anders schreibt (wie Berliner Straße bzw. Berlinerstraße oder auch berlinerstraße).
Deshalb hab ich mir überlegt, dass der Inhalt der aktuellen Zelle aus DataGridView2 (nach der ja in DataGridView1 gesucht werden soll) in eine StringBuilder-Variable abgespeichert werden soll.
Bsp:
Dim
sb AsNew System.Text.StringBuilder(aktuelle Zelle von DataGridView2)
sb.Replace(" ", "") 'entfernt die Leerzeichen
Dann wäre noch die Umwandlung in Großbuchstaben (aber nur während des Vergleiches), damit auch jede Übereinstimmung gefunden wird...
Also so: sb.tostring.toupper
Evtl. macht es auch Sinn mit der Replace-Funktion ä in ae, ö in oe, ü in ue und ß in ss umzuwandeln.
Meine Frage ist jetzt: Könnte mir jemand bei dem Code helfen und würde meine Vergleichsart Sinn machen? Auch bei einer Anzahl von extrem vielen Daten bzw. vergleichen??
ich möchte gerne bestimmte Spalten zweier DataGridViews (inkl. DataTables) vergleichen. Die Übereinstimmungen sollen in einem 3. DataGridView, und der Rest in einem 4. DataGridView ausgegeben werden.
DataGridView1 sieht in etwa so aus: Spalte 1 = ID, Spalte2=Titel, Spalte 3=Vorname, Spalte 4=Nachname, Spalte5=Telefonnummer, Spalte 6=Straße
DataGridView2 sieht in etwa so aus: Spalte 1=Vorname, Spalte 2=Nachname, Spalte 3=Straße
Mein Pseudo-Code würde in etwa so aussehen:
Für jede DataGridView2.Zeile in Spalte 3
Suche in DataGridView1.Zeile in Spalte 6
Wenn gefunden, dann schreibe in DataGridView3 Spalte 1 bis 6 aus DataGridView1,
ansonsten schreibe Spalte 1 bis 6 in DataGridView4
Da hier aus DataGridView2 Personen in DataGridView1 nach den Straßen gesucht werden soll, hab ich mir überlegt, dass es passieren könnte, dass jem. z.B. die Straßennamen anders schreibt (wie Berliner Straße bzw. Berlinerstraße oder auch berlinerstraße).
Deshalb hab ich mir überlegt, dass der Inhalt der aktuellen Zelle aus DataGridView2 (nach der ja in DataGridView1 gesucht werden soll) in eine StringBuilder-Variable abgespeichert werden soll.
Bsp:
Dim
sb AsNew System.Text.StringBuilder(aktuelle Zelle von DataGridView2)
sb.Replace(" ", "") 'entfernt die Leerzeichen
Dann wäre noch die Umwandlung in Großbuchstaben (aber nur während des Vergleiches), damit auch jede Übereinstimmung gefunden wird...
Also so: sb.tostring.toupper
Evtl. macht es auch Sinn mit der Replace-Funktion ä in ae, ö in oe, ü in ue und ß in ss umzuwandeln.
Meine Frage ist jetzt: Könnte mir jemand bei dem Code helfen und würde meine Vergleichsart Sinn machen? Auch bei einer Anzahl von extrem vielen Daten bzw. vergleichen??