Join

Rainer50

Neuer Benutzer
Beiträge
3
Hallo,

ich kann diesen Join nicht ausführen, finde den Fehler aber nicht.

LEFT JOIN dbo_Kostenstelle ON (IIf(IsNull([dbo_daten]![KST]),Left([dbo_daten1]![KST1],6),Left([dbo_daten]![KST],6)) = dbo_Kostenstelle.KST))
 
Werbung:
Okay weil meine Motivation heute überschaubar ist habe ich mal nachgezählt, ich zähle sechs Fehler.
Code:
LEFT JOIN dbo_Kostenstelle                        --eventuell Punkt statt Unterstrich, oder haben wirklich alle Tabellen ein Präfix "dbo_"?
ON    (    IIf(
                IsNull(
                        [dbo_daten]![KST]        --Ausrufezeichen statt Punkt
                )                                --Wo ist das zweite Argument von isnull()? Was ist bei NULL?
                ,                                --erster Ausdruck von iff() erwartet Boolean
                Left(
                        [dbo_daten1]![KST1]        --Ausrufezeichen statt Punkt
                        ,6
                ),
                Left(
                        [dbo_daten]![KST]        --Ausrufezeichen statt Punkt
                        ,6
                )
        )
        = dbo_Kostenstelle.KST
    )
)                                                --eine Klammer zu viel
Das kann man in einer Zeile schreiben, wird halt unübersichtlich. Ich hab auch noch nie iif() benutzt, ich hätte das jetzt mit OR in der Join-Condition gemacht.
 
Wenn ich das richtig sehe ist das ein Auszug aus Access bzw. VBA und deswegen wurden beim Verknüpfen der Tabelle aus der dbo.Kostenstelle auch dbo_Kostenstelle.
Vermutlich hängt das Problem diesem Teil zusammen
[dbo_daten1]![KST1]
Du wählst nicht nur ein anderes Feld sondern auch ne andere Tabelle (dbo_daten1 statt dbo_daten) und das kann eigentlich nicht funktionieren.
 
Werbung:
Zurück
Oben