Hallo jobo,
es war doch etwas spät gestern abend und ich hab es übersehen. Jetzt folgende select-Anweisung;
Delphi-Quellcode:
Datamodule1.ADOQueryRollenJoinLagerplatzTabelle.SQL.Add('SELECT DISTINCTROW Rollenlager.Lagerplatz FROM Materialrollen LEFT JOIN Rollenlager ON Rollenlager.Rollennummer = Materialrollen.Rollennummer where (Materialrollen.[Mat-Nr] = '+ EditMaterialeingangMatNr.Text + ' and Materialrollen.DatumAb is NULL)');
Datamodule1.ADOQueryRollenJoinLagerplatzTabelle.SQL.Add(' group by Rollenlager.Lagerplatz');
jedoch eine Fehlermeldung: "Das Feld Mat-Nr wurde nicht gefunden". Es sieht so aus, als ob doch keine Einträge weg bleiben können.
Meine Absicht ist:
Es gibt 2 Tabellen in einer
Access-Datenbank (ist schon seit Jahren aktiv und kann z.Zt. nicht geändert werden.): Tabelle 1: Materialrollen. in dieser Tabelle sind folgende Felder:
[Mat-Nr], [Rollennummer}, [DatumAb]. Es gibt da noch einige Felder mehr, sind jedoch hier nicht wichtig. Dann 2. Tabelle: [Rollennummer] und [Lagerplatz]. Wenn in der Tabelle 1 im Feld "DatumAb ein Eintrag vorhanden ist, dann ist in Tabelle 2 kein Datensatz mehr. Möchte jetzt über die "Materialrollen.[Mat-Nr]" alle Lagerplätze der Rollennummern herausfinden. Wobei nicht aufgelistet Rollennummer = Lagerplatz, sondern nur Lagerplatz. Wenn alle Materialrollen auf einem Lagerplatz liegt, dann nur eine Zahl z.Bsp. B103.
Ohne "Group By" zeigt mir die Tabelle 50 Rollen auf dem gleichen Platz und einige andere Rollen auf anderen Plätzen. Eine Rolle kann natürlich aus Platzmangel auch auf einem anderem Platz liegen. Das müsste man auch sehen. Es geht nur um eine Übersicht, welche Plätze werden für ein bestimmtes Material belegt.
Ich hoffe, ich konnte mich verständlich machen.
Danke, Luckner