Office: (Office 2013) Abfrage schnellste Rennrunden

Helfe beim Thema Abfrage schnellste Rennrunden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hi Eberhard, ich habe den Code angepasst. Er funktioniert soweit auch. Werde das ganze dann morgen auf Plausibilität prüfen und Rückmeldung geben.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von 19Markus90, 19. Januar 2016.

  1. Abfrage schnellste Rennrunden


    Hi Eberhard,

    ich habe den Code angepasst. Er funktioniert soweit auch. Werde das ganze dann morgen auf Plausibilität prüfen und Rückmeldung geben.
    Noch eine Frage zum Verständnis: Der Code zu 2) hat bei mir sehr lange gerechnet. Wenn ich jetzt neue Daten hinzufüge, wird diese Tabelle dann automatisch aktualisiert? Und dauert die Berechnung dann immer so lange?
     
    19Markus90, 24. Februar 2016
    #46
  2. Das ist aber das gleiche, was wir weiter oben schon mal hatten.

    Daher die Frage: Was ist in dem Moment in der Tabelle drin? Die Daten einer Session, oder etwas mehr? Ich hatte eingangs auch darauf hingewiesen, dass da intern viel Aufwand drinsteckt. Daher sollte das nicht auf sehr viele Datensätze angewendet werden, die genannten 700 Datensätze sollten aber für einen einmaligen Durchgang kein Problem sein.

    Zusätzliche Maßnahmen:
    - (Immer wichtig!) Indizes setzen, siehe Grundlagen - SQL ist leicht (8) - Index inklusive Script im dortigen Link.
    Betrifft beide Tabellen.
    - Datenmengensenkung durch zusätzliche Filterung über Parameter. Das hatte ich hier rausgenommen, auch weil ich nicht bei jedem Test per Hand Parameter eingeben wollte. Wenn Du wieder gezielt auf einzelne Driver, CarNumbers, ... in Kombination gehst, sind es dann weniger daten und die verarbeitung geht schneller für diese Abfrage, dafür musst Du ...zig Kombinationen nacheinander ausführen.
    Da musst Du Dir klar werden, welche Arbeitsweise Du bevorzugst. Die einmalige Aufarbeitung vorhandener Daten ist da ein Sonderfall.
     
  3. Aktuell sind von der Saison 2015 1700 Datensätze in der Datenbank. In dieser Saison kommen etwa ~3000 hinzu.
    Ich denke, dass die Parametrisierung noch ein guter Ansatz ist, da ich auf die laufenden Durchschnitte wirklich nur nach jeder Session zugreife möchte.
    Zunächst wird in Excel nach dem Jahr und der Strecke gefiltert. Wir haben zwei Fahrzeuge mit jeweils drei Fahrern. Über einen weiteren Slicer möchte ich nach der Session dann die Startnummer auswählen. Anschließend sollen die Daten für Jahr->Strecke->Session->Startnummer ausgegeben werden.
     
    19Markus90, 24. Februar 2016
    #48
  4. Abfrage schnellste Rennrunden

    Die Idee war eigentlich, nur neue Daten zu verarbeiten, dabei einmalig die Ränge und gleitenden Durchschnitte zu berechnen und das Ganze dann in eine statische Tabelle zu übertragen (dort anzuhängen), so dass Du auch im Nachgang auf Ränge und Durchschnitte zugreifen kannst, ohne neu rechnen zu müssen.
     
  5. Wenn ich neue Daten in Datenbank reinlade, wird dann automatisch die statische Tabelle aktualisiert? Oder muss ich die Aktualisierung manuell starten?
     
    19Markus90, 24. Februar 2016
    #50
  6. Wie genau passiert das?

    Normalerweise Importtabelle vorher leeren oder löschen. Dann der Import wie auch immer. Dann Anfügeabfrage ausführen. Dabei werden zusätzlich die Ränge und Durchschnitte berechnet, und alles wird in die statische Tabelle eingetragen (angefügt).
    Vorgang nur einmal ausführen, da sonst in der Zieltabelle Duplikate entstehen. Besser: Vorkehrungen treffen wie einen eindeutigen zusammengesetzten Index. Der verhindert zuverlässig Eintragungen von Duplikaten.

    Wenn der Datenimport durch eine VBA-Prozedur erledigt wird, kann man die Anfügeabfrage da gleichfalls anstoßen.
     
  7. Der Import läuft über VBA. Die Daten werden dann alle in die Tabelle Import_Lap_Report importiert.
    Ich könnte dann natürlich auch eine "temporäre" Tabelle erstellen, in der ich auch die neuen Daten importiere, die Anfügeabfrage ausführe, um die Daten in die Tabelle mit dem Ranking anzufügen und anschließend die Daten aus der temporären Tabelle wieder löschen.
     
    19Markus90, 24. Februar 2016
    #52
  8. Abfrage schnellste Rennrunden

    Für mich wäre die Tabelle Import_Lap_Report bereits diese temporäre Tabelle.
     
  9. Hi Eberhard,

    über Excel greife ich öfters auf diese Tabelle zu, deshalb habe ich eine neue temporäre Tabelle erstellt. Ich importiere die Daten einmal in Import_Lap_Report und einmal in T_LaptimeRankTemp.


    Nach dem Import führe ich folgende Anfügeabfrage aus, um die gewünschten Daten in die Tabelle T_LaptimeRank anzuhängen.

    Code:
    Nach dieser Anfügeabfrage wird der Inhalt von T_LaptimeRankTemp gelöscht.

    Anschließend habe ich Deinen Code mit Parametern erweitert:
    Code:
    Das klappt sehr gut.
    Jetzt gibt es nur das Problem, dass bei gleichen Rundenzeiten LaptimeRank nicht hochgezählt wird, sondern zweimal der gleiche Rang vergeben wird. Ich weiß, dass ich das irgendwie umgehen kann, indem ich die ID anstatt der Rundenzeit verwende. Aber trotz einiger Versuche habe ich den Code nicht an's Laufen bekommen. Wie muss der erste Code geändert werden?
     
    19Markus90, 26. Februar 2016
    #54
  10. Die Problematik, dass gleiche Rundenzeiten gleiche Ränge ergeben, hatte ich schon einmal ganz oben angesprochen.

    Welches objektive Kriterium in der Tabelle würde denn bei gleichen Rundenzeiten die gewünschte eindeutige Reihenfolge ermöglichen?
     
  11. Hi,

    richtig, Du hattest das Problem bereits erwähnt. Ich weiß auch, dass ich dies umgehen kann, indem ich die ID einbeziehe. Nach einigen Versuchen bin ich leider auf keine Lösung gekommen. Wie muss ich die ID verwenden, damit der Rang durchnummeriert wird?
    Vielen Dank und ein schönes Wochenende,

    Markus
     
    19Markus90, 27. Februar 2016
    #56
  12. Code:
    Das ist die Rangberechnung (Achtung, kommt oben mehrfach vor). Die blau hervorgehobene Zeile ist die entscheidende für die Zählung und damit für den Rang. Bezieht man ein weiteres Kriterium mit ein, muss es genau da eingepflegt werden.
    Damit es genau ein Vergleich bleibt, kann man einen technischen Ausdruck erzeugen. Wenn also bei gleicher Rundenzeit diejenige besser gewertet wird, die zuerst erfasst wurde (das entspricht dann der ID), dann könnte es etwa so aussehen:
    Code:
    Es werden also hier Zahlen erzeugt, die dann der Sortierung der Zeiten und in zweiter Ebene der Sortierung der ID's entsprechen, ohne dass sich die Ebenen gegenseitig zu überlagern (reale Werte überprüfen und ggf. Korrektur vornehmen).
    Eine erzeugte Zahl ist bei der nachfolgenden Auswertung günstiger als ein Text (Textzusammensetzung wäre auch denkbar), weil Computer ausgehend vom eigentlich verwendeten Binärsystem mit Zahlen besser rechnen als mit Buchstaben.
     
  13. Abfrage schnellste Rennrunden

    Hallo,

    ich habe den Code angepasst, aber leider funktioniert die Hochnummerierung bei gleichen Rundenzeiten nicht. Woran kann das liegen?
    Meine Vermutung ist, dass ich den Abschnitt
    Code:
    anpassen muss. Liege ich da richtig?


    Code:
     
    19Markus90, 28. Februar 2016
    #58
  14. Wie drückt sich Nichtfunktionieren konkret aus? Gelber Rauch, der alle Sicht nimmt?
     
  15. Bei zwei gleichen Rundenzeiten ist der Rang trotzdem der selbe.
     
    19Markus90, 28. Februar 2016
    #60
Thema:

Abfrage schnellste Rennrunden

Die Seite wird geladen...
  1. Abfrage schnellste Rennrunden - Similar Threads - Abfrage schnellste Rennrunden

  2. Abfrage: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  4. Verliert irgendwann die Selektive Abfrage von UFO

    in Microsoft Access Hilfe
    Verliert irgendwann die Selektive Abfrage von UFO: Guten Tag Ich habe ein HF mit darin befindlichem UF. Die Abfrage der Teilnehmer im Uf bezieht sich immer auf den Kurs-Typ im HF Solang ich das Formular neu erstelle, funktioniert das...
  5. automatische Abfrage URL via Artikelnummer

    in Microsoft Access Hilfe
    automatische Abfrage URL via Artikelnummer: Guten Tag Bei der Aktualisierung der Homepage und aufgrund eines Plugin-Wechsels des Üebersetzungstools hat wordpress alle Permalinks der Produkte verändert. Unserem Webmaster war nicht bekannt,...
  6. Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern

    in Microsoft Access Hilfe
    Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern: Hallo Community, ich habe folgendes Problem beim Nutzen einer Access-Datenbank. Zunächst die Datenstruktur: [ATTACH] Dies sind die Tabellen meiner Datenbank. In der Tabelle "Adressliste"...
  7. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  8. Schnell SQL-Ansicht für Abfrage öffnen

    in Microsoft Access Hilfe
    Schnell SQL-Ansicht für Abfrage öffnen: Hallo, ich verwende nur gelegentlich Access 2007 und würde gerne wissen wie ich schnell von einer Tabelle in die SQL-Ansicht einer Abfrage komme. Ich öffne beispielsweise eine mdb-Datei, weil...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden