Feld begrenzen

Hallo,

ich muss den Inhalt eines Feldes - in einer bestehende Tabelle - begrenzen auf Daten vor dem Komma. Nur so habe ich die Möglichkeit, 2 Tabellen mit einander zu vergleichen.

Vorher: Hamburg, Wandsbek
Nachher: Hamburg

Vermutlich geht das über einer Neuerstellung einer Tabelle mittels einer Tabellenerstellungsabfrage. Aber wie kürze ich das Feld auf Daten vor dem Komma?

Besten Gruß
Wander

Hallo,

Ist die Spalte auf jeden Fall mit Komma getrennt? Wenn ja gehts so:
left(tabelle.spalte,instr(tabelle.spalte,",")-1)
das liefert aber bei Feldern ohne Komma nichts zurück!
Ansonsten bleibt dir vermutlich nichts anderes übrig als eine eigene Funktion zu schreiben und die dann einzusetzten. Auf die schnelle:

Public Function alternative\_left(string1 As String, string2 As String) As String
 Dim strPosition As Integer
 strPosition = InStr(string1, string2)
 If strPosition \> 0 Then
 alternative\_left = Left(string1, strPosition - 1)
 Else
 alternative\_left = string1
 End If
End Function

Wäre meine Lösung. Vielleicht gehts einfacher. Bin auch nicht so firm mit SQL. Fürs Nötigste reichts :smile:

Micha

Hoi Micha,

die erste Lösung funktioniert nicht weil ein Operator oder Operand fehlerhaft ist oder fehlt.

Ich suche eine einheitliche Lösung für unterschiedlichen Tabellen (Allerdings mit gleiche Strukturen).

Als Beispiel:
Tabelle A: Branche Name Plz Ort
Tabelle B: Branche Name Plz Ort
u.s.w.

Erst nachdem ich das Feld „Ort“ auf den Text vor den Komma begrenzt habe, kann ich eine Aktualisierung durchführen auf einer Haupttabelle.

„Hamburg, Wandsbek“ kann ich nun mal nicht als Key mit „Hamburg“ vergleichen :smile:

Besten Gruß
Wander

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Nein, es steht nicht immer ein Komma drin.

Besten Gruß
Wander

die erste Lösung funktioniert nicht weil ein Operator oder
Operand fehlerhaft ist oder fehlt.

und die zweite Lösung? die eigene Funktion?