Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Versteckte sortierung?

Begonnen von Xoar, Mai 01, 2016, 21:30:56

⏪ vorheriges - nächstes ⏩

Xoar

[edit]

hat sich leider doch nicht bestätigt, meine These...

Frage ist jetzt in der Antwort.

[/edit]


MzKlMu

Hallo,
ich versteh nur Bahnhof.
Kannst Du das mal geneuer erklären ?
Und zeige mal den SQL Text der Abfrage(n) .
Gruß Klaus

Xoar

Hi, ja gerade hat sich herausgestellt, das meine These doch nicht wirklich funktioniert hat  :'(

Ok dann hier das Problem:
Ich habe eine Auswahlabfrage, siehe unten, welche mir die korrekten Datensätze sortiert anzeigt.
Sobald ich diese in eine Aktualisierungsabfrage ändere, steht die Sortierung ja leider nicht mehr zur Verfügung.

Wie löse ich das Problem am besten? Ich hab was gelesen, dass man eine Unterabfrage einbauen kann, aber da SQL für mich noch relativ schwer ist, komm ich mit der Unterabfrage garnicht klar.

Könnt ihr mir da weiter helfen?

Die Unterabfrage müsste das Feld "von" aufsteigend sortieren.

Auswahlabfrage:

SELECT tblFahrzeuge.StatusAnzeige, tblFahrzeuge.StatusVon, tblFahrzeugReservierungen.von
FROM tblFahrzeuge INNER JOIN (tblFahrzeugReservierungen INNER JOIN tblStatus ON tblFahrzeugReservierungen.Status = tblStatus.ID) ON tblFahrzeuge.ID = tblFahrzeugReservierungen.FFahrzeugID
WHERE (((tblFahrzeuge.ID)=[Formulare]![frmAnzeige]![frmReservierungen].[Formular]![FFahrzeugID]))
ORDER BY tblFahrzeugReservierungen.von;



Update Abfrage:
UPDATE tblFahrzeuge INNER JOIN (tblFahrzeugReservierungen INNER JOIN tblStatus ON tblFahrzeugReservierungen.Status = tblStatus.ID) ON tblFahrzeuge.ID = tblFahrzeugReservierungen.FFahrzeugID SET tblFahrzeuge.StatusAnzeige = [Statusname], tblFahrzeuge.StatusVon = [von]
WHERE (((tblFahrzeuge.ID)=[Formulare]![frmAnzeige]![frmReservierungen].[Formular]![FFahrzeugID]));

MzKlMu

#3
Hallo,
die Sortierung einer Aktualisierungsabfrage ist völlig bedeutungslos, daher kann diese auch nicht bestimmt werden. Es macht ja auch keinen Sinn, da die Reihenfolge der Aktualisierung keine Rolle spielt. Die Akt.Abfrage enthält eine WHERE Klausel und die bestimmt den richtigen Datensatz.
Was willst Du da sortieren ? Ich habe das eigentliche Problem immer noch nicht verstanden.
Gruß Klaus

MaggieMay

Hallo,

du hast doch durch die Verknüpfung über die Fahrzeug-ID jeweils ein ganz konkretes Fahrzeug im Zugriff, daher spielt die Reihenfolge beim Update doch überhaupt keine Rolle.
Anders wäre es bspw. wenn du "ungebundene" Reservierungen auf die verfügbaren Fahrzeuge verteilen wolltest.
Freundliche Grüße
MaggieMay

Xoar

#5
Hi,

habe mal ein kleines Bild angehangen.
Linkes Endlos ist die 1 Seite zum rechten Endlos N Seite.
Diese grüne Darstellung etc, wo auch Werkstatt... steht ist eine "Schnellansicht" Diese wird/soll über die Abfrage aktualisiert werden.

Ich weiß eigentlich macht man das nicht so, aber die Domänenfunktion Dlookup ist viel zu langsam.

Die N Seite (rechtes Endlos) ist sortiert nach "von". Dieses "von" soll mit dem "Status" (Werkstatt....) in die 1 Seite (linkes Endlos) aktualisiert werden. Diese Variante klappt unmittelbar, daher dieser Umweg.

Jetzt habe ich das Problem, dass er mir nicht den frühesten "von" DS der N Seite (rechtes Endlos) in die 1 Seite (linkes Endlos) aktualisiert, sondern den letzt hinzugefügten.


Beaker s.a.

Hallo Xoar,
Da wirst Du wohl den DS-Zeiger vor dem Update auf den gewünschten
DS verschieben müssen.
Und dabei kannst Du dann auch gleich direkt auf die Felder des UFo-
Recordsets zugreifen, ohne den Umweg über den Formularbezug.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MaggieMay

#7
Und was sagst du hierzu:
Zitat von: MaggieMay am Mai 02, 2016, 10:49:15du hast doch durch die Verknüpfung über die Fahrzeug-ID jeweils ein ganz konkretes Fahrzeug im Zugriff, daher spielt die Reihenfolge beim Update doch überhaupt keine Rolle.
Das heißt, die Reservierung ist bereits an ein Fahrzeug gebunden. Oder gibt es mehrere Reservierungen für ein und dasselbe Fahrzeug?! Dann musst du natürlich das Kriterium erweitern, aber auch die Reservierung anschließend als verbucht markieren.
Oder du wählst eine konkrete Reservierung aus, um sie auf das Fahrzeug zu verbuchen.

Allerdings meine ich, dass der Statuswechsel nicht zum Fahrzeug gehört, sondern in eine sparate Tabelle geschrieben werden sollte. Sonst kannst du ja gar nicht mehr nachhalten, wann ein Fahrzeug bspw. in der Werkstatt war.
Freundliche Grüße
MaggieMay

Xoar

@Beaker s.a.
mhh, irgendwie kann ich mir das noch nicht ganz vorstellen.
Wie identifiziere ich denn in der Updateabfrage den DS mit dem frühesten Datum?


@MaggieMay
Kriterium erweitern..gute Idee, nur wie? Ich müsste ja die ID des frühesten "von" Datensatz mit als Kriterium verwenden.

Der Fahrzeugsbezogene Status ja nur eine "Schnellansicht", die eigentliche Reservierung findet ja im rechten Endlosform statt. Links wird nur der früheste Termin angezeigt (Nur ne Darstellung). Abgelaufende Termine werden im rechten Endlosform, durch eine Löschabfrage entfernt.
Vorher hatte ich da eine Dlookup Funktion, die den ersten Datensatz (Fahrzeugbezogen) aus einer sortierten Abfrage anzeigt, leider dauerte diese Anzeige bei der Anzahl der Datensätze zwischen 3-7 Sekunden (FE, BE im Netzwerk)

Also müsste das Kriterium so erweitert werden, dass die ID des sortierten Datensatzen im rechten Endlosform mitgenutzt wird.
Aber da steh ich voll auf´m Schlauch.

MaggieMay

Wodurch wird die Aktion denn ausgelöst, ist zu dem Zeitpunkt die Reservierungs-ID, die verwendet werden soll, bekannt?
Freundliche Grüße
MaggieMay

Xoar

Habs hinbekommen,

die Sortierung des rechten Ufos nach "von", findet VOR der Updateabfrage statt, habe dann, wie ihr beschrieben habt, das Kriterium erweitert und zusätzlich die ID(Primarykey) des rechten Endlosforms mit eingebunden. Das klappt, da der Datensatz, mit dem kleinsten "von" Datum glücklicherweise automatisch den Fokus erhält und ich somit auch die korrekte ID des einzelnen Datensatzes habe.