Seite 4 von 4

Re: suchen und anhängen

Verfasst: Mo, 26. Jul 2021 14:23
von Marcus Herz
Ich glaub, in er Zulassunsgstelle haben sie eine laufende Nummer hinter dem KFZ KZ (intern)

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 8:31
von Manfred
HI,
und noch eine Ergänzungsfrage:
Die merge Sache klappt ja, aber sie müßte erweitert werden und zwar soll alles so ablaufen wie bisher, aber mit einem kleinen Unterschied. Ich müßte vor dem Insert eine Abfrage in einer anderen Tabelle haben und die soll ermitteln, ob es einen Tachoüberlauf für das jeweilige Fahrzeug gab. Wenn das der Fall ist, dann sollen auf den Kilometerstand 1 Mio draufgezählt werden, bevor der Satz eingefügt wird. Wie geht man da vor?

Code: Alles auswählen

MERGE tankbuch tb USING (SELECT * FROM "e:\tauschverzeichnis\fuhrparkverwaltung\webdienst\tbuch1_kopie.dbf" tbk ) tbk
                 ON (tbk.kfznr=tb.kfznr AND tbk.tankdatum=tb.tankdatum AND tbk.tankzeit=tb.tankzeit)
                 WHEN NOT MATCHED THEN INSERT (art, kfznr, kmstand, menge, persnr, tankdatum, tankzeit, terminalnr) VALUES(tbk.art, tbk.kfznr, tbk.kmstand,tbk.menge, tbk.persnr,tbk.tankdatum, tbk.tankzeit, tbk.terminalnr)
Ich müßte also hier über kfznr in FAHRZEUGE suchen und prüfen, ob da der Überlaufmerker tachoulauf TRUE ist. Wenn dem so ist, dann kmstand += 1.000.000 wenn nicht dann kmstand so wie er ist.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 14:20
von Manfred
außerdem dürfen nur Sätze angehängt werden, wenn tbk.tankdatum >= 'irgendwas' ist. Die Where Klause scheint da aber nicht erlaubt zu sein? Oder wie müßte die untergebracht werden?

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 15:16
von nightcrawler
Hallo Manfred,
Du scheinst ganz schön viel zu wollen von einem einzigen Statement. In Xbase müsstest Du dafür eine komplette Funktion schreiben. Wenn es doch so viel gibt, dann pack das ganze richtig schön geordnet in eine Stored Procedure und rufe diese auf. Ich glaube, das macht an dieser Stelle mehr Sinn und ist leichter erweiterbar.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 15:26
von Manfred
Hi Joachim,
ich habe nur gefragt. Leider habe ich von Stored Procedures noch keine Ahnung. Deshalb wüßte ich nicht, wie ich das angehen sollte/müßte.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 15:30
von nightcrawler
ich könnte Dich ja auf mein Buch verweisen;)

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 15:31
von Manfred
das kannst Du ruhig tun, das lese ich just in the moment.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 16:09
von Manfred
das ist alles schön und gut, aber ich verstehe nicht was ich da eintippen muß.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 16:18
von Manfred
mir fällt gerade was ein. Ich hänge ja Daten aus einer externen DBF an. Geht das dann überhaupt über den ADS direkt? Wenn ich den SQL Befehl aus dem Programm nehme und ihn auf dem Architekten laufen lasse, dann kommt die Meldung das er das gar nicht kann. Im Programm habe ich die Tools von Markus und da gebe ich einen anderen Treiber für die DBF an.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 18:03
von nightcrawler
Manfred hat geschrieben: Mi, 05. Jan 2022 16:18 Ich hänge ja Daten aus einer externen DBF an. Geht das dann überhaupt über den ADS direkt?
Ja, sofern die externe DBF auch auf dem ADS Server ist. Eingebunden sein muss sie nicht. Du solltest aber den Tabellentyp CDX bei der Connection mitgeben, sonst wird bei freien Tabellen nach ADT gesucht.

Re: suchen und anhängen

Verfasst: Mi, 05. Jan 2022 18:12
von Manfred
muß extra eine weitere Connection aufgemacht werden, wenn ich das über den Architekten im SQl Editor machen möchte (zum Testen z.B.)

Re: suchen und anhängen

Verfasst: Fr, 07. Jan 2022 12:57
von nightcrawler
nö. Du musst nur den Pfad richtig angeben, zB Verbindung zu f:\meinedaten\test.add mit Tabellentyp CDX. Wenn die freie Tabelle dann zB in f:\meinedaten\import sind, kannst Du sie über

Code: Alles auswählen

SELECT * FROM [.\import\testdbf]
ansprechen.

Re: suchen und anhängen

Verfasst: Di, 11. Jan 2022 12:00
von UliTs
Manfred hat geschrieben: Mo, 11. Jan 2021 10:43 ...ich habe jezt aber nur 1 Problem, Ich kann die Datei tbuch1_dbf nicht löschen. ...
Unabhängig vom Vorschlag von Marcus kann man temporäre Tabellen im Namen mit vorangeführtem "#" auch dem ADS gegenüber als temporär bekanntgeben. Dann verschwindet sie automatisch nach dem Schließen der Verbindung. Außerdem können mehrere Verbindungen den gleichen temporären Dateinamen verwenden obwohl es tatsächlich mehrere Tabellen sind.

Re: suchen und anhängen

Verfasst: Di, 11. Jan 2022 12:22
von Manfred
HI Uli,
das Problem hat sich gelöst, als ich die ADS DLL von Markus genommen habe. Die haben die Verbindungen schön zugemacht, wenn es ihnen gesagt wurde.