Neuigkeiten:

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

Mobiles Hauptmenü

Wert in Tabelle finden

Begonnen von Lalikowski, April 03, 2019, 12:45:42

⏪ vorheriges - nächstes ⏩

Lalikowski

Hallo zusammen,

stehe wieder auf dem Schlauch.... :(.

Folgendes Problem:

In einer Abfrage habe ich eine Prozentwert.
In einer Tabelle habe ich mehrer Prozentbereiche und einen dazugehörigen Maluswert.

Hier ein Beispiel:

Prozentwert Abfrage: 93,21 %
Prozentbereiche Tabelle (drei Spalten (von, bis, Malus)):
- 90,01 % - 92,00 % = Maluswert: -2 %
- 92,01 % - 94,00 % = Maluswert: -1,5 %

Der Prozentwert der Anfrage liegt im Bereich des Maluswertes - 1,5 %.

Mein Ziel ist es nun, dass in der Abfrage zu jedem Prozentwert, der entsprechende Maluswert angezeigt wird.

Wie bekomme ich das am Einfachsten hin?

Vielen Dank im Voraus

Andreas

MzKlMu

#1
Hallo,
sind das negative Werte ?
Wenn ja, würde 93,21 nicht gefunden werden.
Gruß Klaus

Lalikowski

Hallo,

nein, es sind keine Negativwerte.

Das Minuszeichen ist ein Auszählungszeichen...

Ist dumm gewählt von mir, sorry....

Lalikowski

Hallo MzKlMu,

kannst Du mir bei dem Problem helfen?

Vielen Dank im Voraus und ein schönes Wochenende

Andreas

MzKlMu

Hallo,
wie sind die Prozentwerte gespeichert, als reine Prozentzahl zwischen 0 und 100 oder als Zahl <=1 und mit Prozent formatiert ?
Gruß Klaus

Lalikowski

...die Werte sind als Prozent formatiert, d.h. <=1...

Hilft es Dir, wenn ich eine kleine Beispiel-DB anfertige und hochlade?

MzKlMu

Hallo,
ja, Beispieldb wäre hilfreich. Dann geht es schnell.
Gruß Klaus

Lalikowski

Hallo Klaus,

habe eine Beispiel-DB angehängt.

In der Tabelle "tbl_Maluswerte" findest Du die Bereiche mit den entsprechenden Maluswerten und in der Tabelle "tbl_Performance" findest Du die Performancewerte.

Das Ergebnis der Abfrage "qry_Malus" soll nun sein, dass zu der Performance der entprechende Malus zugeordnet wird....

MzKlMu

Hallo,
auch Malus 0% gehört in die Tabelle.
0% ist dann größer 98,49% ?

Anmerkung:
Malus steht ja für Abzug, daher ist es rein mathematisch falsch den Malus mit negativem Vorzeichen zu versehen. Das ist einfach auch positiv. Die Formel bestimmt ja später dass abgezogen wird.
Wenn Du einen Malus hast von 5 % und da kannst Du einfach den Betrag mit dem Prozentwert multiplizieren
100*0,05 = 5
100-5=95
Aber
100*-0,05 = -5
100-(-5) = 105

Das nur am Rande.
Gruß Klaus

MzKlMu

#9
Hallo,
im Anhang die etwas umgebaute DB.
Das Feld "von_Perf" in der Tabelle mit dem Maluswerten ist überflüssig. Habe ich gelöscht. Das Feld "bis_Perf" reicht.
Im VBA Modul ist eine kleine Funktion die den Maluswert mit DFirst ermittelt.
Für DFirst muss das Feld "bis_Perf" zwingend indiziert sein (ohne Duplikate, aufsteigend), sonst funktioniert DFirst nicht.
Die 100% (1) habe ich noch ergänzt.

PS:
Wenn die Originaldb auch so aufgebaut ist, so gibt es da erheblichen Verbesserungsbedarf beim Datenmodell. Und ein Feldname "Name" ist absolut tabu, auch in einem Beispiel.
Gruß Klaus

Lalikowski

Guten Morgen Klaus,

vielen Dank für Deine Hilfe und Tipps...

Wünsche Dir ein sonniges Wochenende

Andreas