Hallo,
vor einiger Zeit schrieb ich bereits hier über meine Access-Form, bei der Daten aus mehreren Tabellen dargestellt werden. Ich schien alle Probleme gelöst zu haben und beschäftigte mich mit einem zusätzlichen Formular, das per Knopfdruck aufgeht. Nun stelle ich fest, dass ich im Hauptformluar keine neuen Datensätze hinzufügen kann!
Das Hauptformular baut auf diesen SQL-Code auf:
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.holdLOT.*, left(dbo.holdlot.batchlot,5) AS sourcelot, 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
Um es kurz zu sagen, zunächst wird berechnet, wie oft der key batchlot in fehlermeldungen vorkommt (kursiv), dann aus holdlot (Haupttabelle)und camic Daten entnommen. Die Rechnung mit den Fehlermeldungen kann ich auch weglassen, bringt bloss nix.
Ich will die camic-Daten auch auf keinen Fall in ein Unterformular packen, da ich per Rechtsklick im Formular nach ihnen filtern können muss!
Nun das Problem:
Wenn ich (per VBA oder ohne) auf den letzten, d.h. leeren Eintrag gehe, lässt er mich nicht in das key-Feld batchlot schreiben. In einem älteren Formular, in dem das ganze Formular direkt aus einer Tabelle gespeist wird, klappt das. Hier aber behauptet er immer die Felder seien read only. Ich kann also davon ausgehen, dass es mal wieder am SQL-Code liegt…
Oder???
Danke,
Sebastian