Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Golf Ergebnisse

Begonnen von HorstP, März 30, 2012, 10:26:04

⏪ vorheriges - nächstes ⏩

HorstP

Moin Leute,

ich bin in Bezug auf Access ein fortgeschrittener Anfänger und komme mit der Benutzeroberfläche gut zurecht. VBA mußte ich noch nicht lernen. Einige Versuche in Access habe ich erfolgreich durchgeführt.

Mein Problem ist nun, ich möchte für meine größere private Golfrunde mit Access eine Rundenauswertung basteln. Die einfachere Form der Ergebnisse (zählen der Schläge und auswerten (Zählspiel)) bereitet null,null Probleme.
Es gibt aber im Golf eine zweite, kompliziertere Auswertemethode, und hier fangen meine Probleme an.
Grundsätzlich gilt: der Platz hat 18 Bahnen, jede mit einem festgelegten Standard (Par- 3,4 oder 5). Ein Spieler erhält individuell, je nach Spielstärke, eine bestimmte Zahl an Schlägen pro Bahn, die mehr als diesen Standard haben darf (SPV-0,1,2,3 oder 4). Das Ergenis errechnet sich dann wie folgt: Bei Par 4 und Vorgabe 1 erhält der Spieler bei tätsächlich gespielten 5 Schlägen auf dieser Bahn 2 Punkte. po Schlag mehr erhält er einen Punkt weniger und pro Schlag weniger einen Punkt mehr. Das alles für 18 Bahnen und bei unterschiedlichen Vorgaben, denn nur bei einer durch 18 teilbaren Vorgabe verteilt sich diese gleichmäßig auf alle Bahnen!!!
Analog zu dieser Wertung gibt es eine zweite Wertung bei der dann nur der Standard und dir tatsächlichen Schläge in Relation treten. Die Vorgabe bleibt unberücksichtigt.

Ich stelle mir die Struktur der Datenbank in etwa so vor: Die Spieltage sind die Tabellen, die Teilnehmer die Datensätze. In einem Formular gebe ich (pro Bahn) die Vorgaben und die Schlagzahl ein. Das System errechnet mir dann die Brutto- und Nettopunkte. Die dann in der Tabelle gespeichert werden. Mit Abfragen kann ich eine Rangliste erstellen und drucken. (Uff)

Im beiliegenden Beispiel ist der Rechengang(aus meiner Sicht) verdeutlicht. Leider muß ich (noch?) pro Bahn für jede mögliche Vorgabe in einem eigenen Feld rechnen. Auch kann ich die errechneten Ergebnisse nicht in die Tabelle übernehmen.

Ich hoffe nun sehr, daß mir jemand von Euch beistehen kann. Das System läuft grundsätzlich ist aber doch etwas umständlich.

Vielen Dank

HorstP

[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo Horst,
ZitatDie Spieltage sind die Tabellen, die Teilnehmer die Datensätze
Nein, die Spieltage sind EINE Tabelle.
Zitatdie Teilnehmer die Datensätze
Jein, die kommen nämlich in eine dritte Tabelle.
Die zweite ist eine Tabelle Spieler.
Die Teilnehmer werden dann in einer Zwischentabelle
gespeichert/zugeordnet:
tblTeilnehmer
    TeilnehmerID -> PK
    SpielerID       -> FK tblSpieler
    SpieltagID     -> FK tblSpieltage
Du bräuchtest wohl auch noch jeweils eine Tabelle Plaetze und Bahnen.
Die Bahnen werden 1:n den Plätzen zugeordnet.
Evtl. brauchst Du auch noch die eine oder andere Zwischentabelle,
ansonsten kannst Du mit diesem Modell auch alle Berechnungen
in entsprechenden Abfragen durchführen.
ZitatAuch kann ich die errechneten Ergebnisse nicht in die Tabelle übernehmen.
Brauchst Du ja auch nicht. Berechnete Felder müssen/dürfen nicht gespeichert werden,
da sie sich ja jederzeit neu berechnen lassen.
Deine DB schau ich mir morgen mal an.
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)

Beaker s.a.

Hallo Horst,
ZitatEs gibt aber im Golf eine zweite, kompliziertere Auswertemethode, und hier fangen meine Probleme an.
Grundsätzlich gilt: der Platz hat 18 Bahnen, jede mit einem festgelegten Standard (Par- 3,4 oder 5). Ein Spieler erhält individuell, je nach Spielstärke, eine bestimmte Zahl an Schlägen pro Bahn, die mehr als diesen Standard haben darf (SPV-0,1,2,3 oder 4). Das Ergenis errechnet sich dann wie folgt: Bei Par 4 und Vorgabe 1 erhält der Spieler bei tätsächlich gespielten 5 Schlägen auf dieser Bahn 2 Punkte. po Schlag mehr erhält er einen Punkt weniger und pro Schlag weniger einen Punkt mehr. Das alles für 18 Bahnen und bei unterschiedlichen Vorgaben, denn nur bei einer durch 18 teilbaren Vorgabe verteilt sich diese gleichmäßig auf alle Bahnen!!!
Nö, dafür reicht ein Ausdruck:
Punkte=Par+SPV-GespielteSchlaege+2
Da braucht's keinen so komplizierten WENN ... DANN Ausdruck.
Das mit den Vorgaben (teilbar durch 18) verstehe ich nicht; gleichmässig verteilt muss die Vorgabe ja auf jeder Bahn gleich sein.
Das wirst Du aber wohl besser wissen, - ich weiss nicht, wie das Handicap berechnet wird. Ich dachte immer das Handicap wird zum  Gesamtpar (72 Schläge?) dazu gerechnet.
Mehr kann ich zu Deiner DB im Moment nicht sagen.
hth
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)

HorstP

Hallo Ekkehard,

vielen Dank für die Hilfe. :)

Die Formel (Punkte = Par-SPV-Schläge+2) ist einfach genial!! Damit lösen sich einige Probleme auf einmal.

Die Vorgabenverteilung ist nur bei Vorgabe 18 (oder vielfaches) gleichmäßig, 1 Schlag pro Bahn. Bei Vorgabe 17 bekommt der Spieler auf der leichtesten Bahn keinen Schlag vor usw.. Evtl. fällt Dir auch noch hierfür eine geniale Möglichkeit ein, wie man die individuelle Vorgabe des Spielers (0-60) entsprechend der Klassifizierung auf die Bahnen verteilen kann.

Deine Vermutung Gesamt Vorgabe (Handicap benutzen Golfer nicht gerne - ist negativ besetzt) wird zum Gesamt Par addiert, gilt nur für sog. Zählspiele.

Ich bin zwar im Bezug auf die Ergebnissrechnung im Golf ein Experte, aber im Bezug auf Access doch wohl nur ein Anfänger. Ich habe bisher immer nur mit Datenbänken mit einer Tabelle gearbeitet (gespielt). Ergo bin ich auch mit der Verknüpfung von Tabellen und deren Sortierung nicht so fit.


Gruß

HorstP

HorstP

Hallo Ekkehard,

ich war bezüglich der Formel doch wohl etwas zu schnell!!! Es sich dürfen keine nagativen Zahlen ergeben.

Gruß

HorstP

Stapi

Hallo Horst

In dem Feld wo du den wert dir anzeigen läst, wäre es möglich über die Funktion Fromat alle Negativ zahlen als Null dar zustellen.

Grüße aus dem schönen NRW
Stefan

Beaker s.a.

Hallo Horst,
! Punkte = Par + SPV - Schläge + 2 !
Wenn Punkte nicht negativ sein dürfen, muss man es wohl doch in ein Wenn ... Dann verpacken:
Punkte = Wenn((Par + SPV - Schläge + 2) >= 0; Par + SPV - Schläge + 2; 0)

Das mit der Vorgabe habe ich jetzt auch verstanden;  - die ist nicht auf jeder Bahn gleich.
Um das dann gleichmässig zu verteilen braucht es dann aber eine Katalogisierung/Rangfolge
der Bahnen. Denn es gibt ja auf einem Platz jeweils mehrere Par-3, -4, -5 Löcher.
Und wenn es da ein Schema gibt, wie die individuelle Vorgabe des Spielers verteilt wird,
finden wir sicher auch eine Möglichkeit das zu berechnen.
Du musst allerdings zunächst mal die Tabellenstruktur(en) sprich das Datenmodell
erstellen. In Deiner DB waren ja keine Tabellen drin.
Ohne das kann man sich über Berechnungen nicht den Kopf zerbrechen.
Das bekommen wir aber zusammen bestimmt auch hin.
Ich schau mal wie's dieses WE so aussieht mit Zeit.
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)

Beaker s.a.

Hallo Horst,
In anliegender DB hab' ich mal ein rudimentäres Datenmodell
zusammengestrickt.
Zu mehr fehlen mir die Informationen.
Du musst das jetzt mal ergänzen so wie Du denkst, und
es dann wieder hochladen, dann schauen wir weiter.
Sicher wirft auch einer der anderen Regulars dann mal
einen Blick darauf und gibt weitere Tipps.
gruss ekkehard

[Anhang gelöscht durch Administrator]
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)

Bernie110

Hallo Horst,

also ich glaube du wirst damit nicht glücklich.

Weder wird die Platzvorgabe noch dein aktuelles Handycap in dieser Berechnung berücksichtigt.
Es sei denn, du willst dich nicht verbessern :-)

Einen kostenlosen Rechner für alle Plätze gibt es hier : http://www.golf-index.eu/outs/handicap-rechner/language/de

Wenn dann schon auf diese Art und Weise :-)

Gruss und schönes Spiel
bernie

HorstP

Hallo Ekkehard,

vielen Dank für Deine Hilfe. Ich habe das Prinzip verstanden.

Allerdings sind es (fast) immer keine einzelnen Spieler, sondern 2er, 3er oder 4er Teams.
Die Gesamtvorgabe wird nach Schwierigkeit der Bahnen verteilt ( 1 schwerste - 18 leichteste Bahn).

Die Formel ist ok. Wenn es viele Schläge (kommt vor!!) sind (mehr als PAR+Vorgabe+2) ergibt sich ein negativer Wert. Deine Formelergänzung funktioniert bei mir nicht.

Gruß
HorstP

[Anhang gelöscht durch Administrator]

HorstP

Hallo Bernie,

vielen dank für Deinen Beitrag. Ergebnisrechner kenne ich. Es geht um die Ergebnisermittlung einer Gruppe bei privaten Wettspielen zwecks Siegerermittlung. Kein Vorgabewirksames Turnier- macht der Club mit prof. Software.
Platzstandard, Stammvorgabe sind in der Spielvorgebe enthalten.

schönes Spiel

HorstP

Bernie110

Hallo Horst,

ZitatPlatzstandard, Stammvorgabe sind in der Spielvorgebe enthalten.

Bitte wo ?

Gerade weil ihr ein privates Wettspiel macht, müssen alle HCp der einzelnen Spieler bei der Berechnung der Netto-Punkte über die Spielvorgabe berücksicht werden.

Ohne geht das nämlich nicht.

Dann musst du noch die Lochvorgabe der einzelnen Löcher berücksichtigen.
Erst dann kannst du anfangen das Netto-Ergebnis zu berechnen.

Ergo... du brauchst ein paar Tabellen mehr.

gruss
bernie

HorstP

Hallo Bernie,

siehe beiliegende Datenbank (golfhorst - tblteams)!!

Beaker s.a.

Hallo Horst,
Zitatvielen Dank für Deine Hilfe. Ich habe das Prinzip verstanden.
Wie es scheint noch nicht so ganz.
tblTeams: durchnummerierte Spalten widersprechen den Normalisierungsregeln.
Das gehört wieder auf zwei Tabellen aufgeteilt, 1. eben die tblTeams mit ID, einer Bezeichnung, der TeamSPV.
2. eine Zwischentabelle zur tblSpieler (siehst, die brauchst Du, also wieder rein damit).
Siehe Anlage.
ZitatDeine Formelergänzung funktioniert bei mir nicht.
Dann hast Du da einen Schreibfehler drin. In anliegender DB ist ein Modul mit einer Function, die den Wert zurückgibt.

@Bernie
Wie es sich anhört, hast Du mehr Ahnung von der Golfmaterie als ich. Da ist es sicher einfacher für Dich Tipps zum Datenmodell zu geben.
In der jetzt angehängten DB (hier habe ich die Teams ergänzt) z.B. bin ich mir nicht sicher, ob in die tblTeilnehmer jetzt die SpielerID oder die TeamID, oder beide, hineingehören. Würde mich freuen, wenn ich da auch was lernen könnte.

gruss ekkehard

[Anhang gelöscht durch Administrator]
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)

Bernie110

Hallo Ihr Beiden,

ich brauch noch etwas... dann lad ich meinen Vorschlag hoch.

@Ekkehard  Ja einbisschen.. Spiele schon seit fast 10 Jahren :-)

Gruss
Bernie