Forum: Datenbanken
by Delphi.Narium,
10. Jun 2019
Ich weiß, das kenne ich zur Genüge.
Oft hat es geholfen so penetrant nachzufragen, dass der Aufwand, eine präzise Vorgabe zu machen geringer war, als sich immer und immer wieder um die Beantwortung der Fragen der "blöden" Programmierer kümmern zu müssen.
Es ist ja nix dagegen einzuwenden, wenn man aus dem Chaos etwas macht, was dann logisch klingt und umsetzbar zu sein scheint. Aber damit bin...
Forum: Datenbanken
by Delphi.Narium,
7. Jun 2019
select * from where = :LieferantenNr
select * from
where aktuell = -1
and = :LieferantenNr
Forum: Datenbanken
by Delphi.Narium,
7. Jun 2019
Ich hasse diesen "unbekannten Fehler" aus den Mircosoftprodukten, der ist einfach nie hilfreich bei der Fehlersuche :-( ;-)
Die Klammern stimmten irgendwie nicht, mindestens eine schließende war zuviel und mindestens ein Komma fehlte, also noch ein Versuch:
select * from (
SELECT
MaterialNr,
sum(Bestand) as BESTAND,
Bezeichnung,
Aufgebraucht
Forum: Datenbanken
by Delphi.Narium,
6. Jun 2019
Nö, nicht ganz.
Laut der letzten Frage fehlen ja die Sachen, bei denen Materialrollen.DatumAb <> NULL (lieber Materialrollen.DatumAb is not NULL) ist.
Da in der ursprünglichen Abfrage aber auf Materialrollen.DatumAb IS NULL abgefragt wurde, kann die vermisste Menge ja garnicht im Ergebnis sein.
Meine Idee war halt zuerst: Nehmen wird die Abfrage mit dem bisherigen, gewünschten und...
Forum: Datenbanken
by Delphi.Narium,
6. Jun 2019
Eventuell geht auch dashier, ist kürzer und dürfte resourcen- / laufzeitschonender sein:
SELECT
MaterialNr,
sum((Arbeitsbreite / 1000) * lfm) as BESTAND,
Bezeichnung,
Aufgebraucht
from (
SELECT
Materialrollen. As MaterialNr
Forum: Datenbanken
by Delphi.Narium,
6. Jun 2019
Ist jetzt nur geraten.
Sinngemäß in etwa sowas?
SELECT
Materialrollen.,
sum((Materialrollen. / 1000) * Materialrollen.lfm) as BESTAND,
.Bezeichnung,
Aufgebraucht
from (
Forum: Datenbanken
by Delphi.Narium,
3. Jun 2019
BestandMaterialNummer := 0;
while not Datamodule1.ADOQueryRollenJoinLagerplatz.Eof do
begin
BestandMaterialNummer := BestandMaterialNummer + ((Datamodule1.ADOQueryRollenJoinLagerplatzArbBreite.AsInteger/1000) * Datamodule1.ADOQueryRollenJoinLagerplatzlfm.AsInteger);
Datamodule1.ADOQueryRollenJoinLagerplatz.Next;
end;
Bin mir nicht sicher, da Deine SQLs irgendwie...