'Not updatable'

Hallo, ich habe folgendes Problem:
Es gibt 3 Tabellen, die in einer Form dargestellt werden. Eine Tabelle ist der Master, die zweite beinhaltet eindeutige Zusatzinformationen zu den Einträgen im Master(immer 1 Set zu 1 Eintrag). Die dritte enthält manchmal Informationen zu den Mastereinträgen. Zur Zeit ist das mit einer (Master-)Form und einem Unterformular, das die Daten der anderen zwei Tabellen enthält, gelöst.
Das Problem war, das wir gerne nach den Daten der zweiten Tabelle filtern wollten. Dazu „hoben“ wir diese Daten in die Masterform und liessen nur noch die Daten der dritten Tabelle in der Subform. Leider läßt sich das Formular nun nicht mehr updaten, vermutlich weil die 2.Tabelle schreibgeschützte Daten enthält (das soll auch so sein).
Oder woran könnts sonst noch liegen?
Danke,
Sebastian

Hallo,

das liegt an der „Heberei“ …

Die Abfrage liefert dann Datensatz(werte), die nicht mehr eindeutig zuordenbar sind.

Um so zu filtern, müssen aus der Detailtabelle zunächst der oder die Fremdschlüsselwerte der gefilterten DS gelesen und damit der oder die DS der Mastertabelle gefiltert werden.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Okay, ich weiss leider nicht, wie ich das anstellen soll. Hier ist mein SQL-Code:
SELECT CASE WHEN NULLIF
((SELECT COUNT(Auftrag)
FROM [Fehlermeldung].[dbo].[Fehlermeldungen] f INNER JOIN
[dbo].[holdLOT] hl ON f.Auftrag = LEFT(hl.batchLot, 6)
GROUP BY Auftrag
HAVING f.Auftrag = LEFT(holdlot.batchLot, 6)), 0) > 0 THEN 1 ELSE 0 END AS fehlermeldung,
(SELECT COUNT(f.Auftrag) AS Expr1
FROM Fehlermeldung.dbo.Fehlermeldungen AS f INNER JOIN
dbo.holdLOT AS hl ON f.Auftrag = LEFT(hl.batchLot, 6)
GROUP BY f.Auftrag
HAVING (f.Auftrag = holdlot.batchLot)) AS anzahlFehlermeldungen, dbo.camic.process, dbo.batrel.Info, dbo.holdLOT.*, dbo.batrel.Status,
dbo.camic.[Bus#Line L], dbo.camic.Anz#, dbo.camic.TYP_BEZ AS TYPE, dbo.camic.NK, dbo.camic.MB, dbo.camic.Automotive, dbo.camic.Mav,
dbo.camic.TestCenter, dbo.camic.diff#group, dbo.camic.Stufe
FROM dbo.holdLOT INNER JOIN
dbo.camic ON dbo.holdLOT.batchLot = dbo.camic.AUF LEFT OUTER JOIN
dbo.batrel ON dbo.holdLOT.batchLot = dbo.batrel.Batch

holdLot ist die Haupttabelle, mit BatchLot als eindeutige ID für alle anderen. In CAMIC heißt das AUF (und in batrel Batch). Die dritte Tabelle, die im Unterformular sichtbar ist, kommt hier nicht vor.

/t/ungebundene-felder-fuellen/5033758/8

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)