Office: (Office 2016) einen BIS-Wert aus Tabelle auslesen

Helfe beim Thema einen BIS-Wert aus Tabelle auslesen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, stehe wieder auf dem Schlauch.... :(. Folgendes Problem: In einer Abfrage habe ich eine Prozentwert. In einer Tabelle habe... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Lalikowski, 13. April 2019.

  1. einen BIS-Wert aus Tabelle auslesen


    Hallo zusammen,

    stehe wieder auf dem Schlauch.... einen BIS-Wert aus Tabelle auslesen :(.

    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 (zwei Spalten ( bis_Performance, Malus)):
    bis_Performance: 92,00 % = Maluswert: -2 %
    bis_Performance: 94,00 % = Maluswert: -1,5 %
    bis_Performance: 96,00 % = Maluswert: -1,0 %

    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
     
    Lalikowski, 13. April 2019
    #1
  2. Exl121150 Erfahrener User
    Hallo Andreas,

    das erreicht man am einfachsten, wenn man in einem allgemeinen Codemodul eine benutzerdefinierte Funktion eingibt (Einfach folgendes Code-Fenster kopieren und in einem allgemeinen Codemodul in Access einfügen):
    Code:
    Option Explicit
    
    Public Function MalusWert(Prz As Double) As Double
      Select Case Prz
        Case Is < 92: MalusWert = -2#
        Case Is < 94: MalusWert = -1.5
        Case Is < 96: MalusWert = -1#
        Case Else:    MalusWert = 0#
      End Select
    End Function
    
    Public Function MalusWert2(Prz As Double) As Double
      MalusWert2 = Switch(Prz <= 92, -2, Prz <= 94, -1.5, Prz <= 96, -1, True, 0)
    End Function
    
    Ich habe dir hier 2 Varianten angeboten, eine davon kannst du dann verwenden: MalusWert(Prz) und MalusWert2(Prz).
    Beide können in gleicher Weise angewandt werden. Der Übergabeparameter "Prz" für die Höhe der Abfrageprozente erwartet dabei, dass zB. bei einem Wert von 93,21% folgender Funktionsaufruf
    MalusWert(93.21) bzw. MalusWert2(93.21)
    durchgeführt wird. Beide Funktionen geben dann den Wert -1.5 zurück, der für -1,5% steht.

    Wenn du also zB. im Direktbereichsfenster folgende Zeile eingibst:
    ?MalusWert(94.01), MalusWert2(94.01)
    für 94,01% erhältst du als Resultat
    -1 -1

    oder bei einer Eingabe von
    ?MalusWert(97.05), MalusWert2(97.05)
    für 97,05% ist das Ergebnis
    0 0
     
    Exl121150, 17. April 2019
    #2
  3. Exl121150 Erfahrener User
    Hallo Andreas,

    bei der 1. Funktion hat sich leider ein kleiner Fehler eingeschlichen, beide Funktion müssen korrekt lauten wie folgt:
    Code:
    Option Explicit
    
    Public Function MalusWert(Prz As Double) As Double
      Select Case Prz
        Case Is <= 92: MalusWert = -2#
        Case Is <= 94: MalusWert = -1.5
        Case Is <= 96: MalusWert = -1#
        Case Else:    MalusWert = 0#
      End Select
      
    End Function
    
    Public Function MalusWert2(Prz As Double) As Double
      MalusWert2 = Switch(Prz <= 92, -2, Prz <= 94, -1.5, Prz <= 96, -1, True, 0)
    End Function
    
     
    Exl121150, 17. April 2019
    #3
  4. einen BIS-Wert aus Tabelle auslesen

    Hallo Anton,

    leider war ich die letzten Wochen extrem eingespannt, so dass ich erst jetzt dazu gekommen bin, Deinen Code zu testen.

    Habe beide Varianten probiert und leider war das Ergebnis nicht korrekt.

    Die Codes habe ich so eingegeben:
    Bei beiden Varianten sieht das Ergebnis so aus:
    einen BIS-Wert aus Tabelle auslesen Mauls.png

    Kannst Du bitte nochmals schauen, ob ich einen Fehler mache und diesen nur nicht sehe....:-(.

    Vielen Dank im Voraus für Deine Hilfe

    Andreas
     
    Lalikowski, 8. Mai 2019
    #4
  5. Hallo Anton,

    der Vollständigkeit halber, hier noch der Bezug aus der Abfrage:
    einen BIS-Wert aus Tabelle auslesen qry_Mauls.png

    Viele Grüße

    Andreas
     
    Lalikowski, 8. Mai 2019
    #5
  6. Exl121150 Erfahrener User
    Hallo Andreas,

    Kann es sein, dass dein Tabellenfeld "perf_malus", das du in deiner Abfrage verwendest, zB. als "Double" festgelegt ist mit Format "Prozentzahl"?
    Dann wird zwar im Feld "perf_malus" zB. 90,57% angezeigt. Sobald du aber diesen Wert in der Abfrage an die Funktion "MalusWert2([perf_malus])" übergibst, findet dort tatsächlich folgender Funktionsaufruf statt: "MalusWert2(0.9057)". Damit erhält der Parameter "Prz" der Funktion "MalusWert2(Prz)" den Wert 0.9057, der weit unter dem niedrigsten Wert 82 der dort enthaltenen "Switch(Prz<=82,-5, ...)"-Funktion liegt - was somit auch die generelle Wertrückgabe von -5 in der Abfrage erklärt.

    Es gibt jetzt 3 Möglichkeiten:
    1) die einfachste Möglichkeit: Du änderst in der Abfrage den Funktionsaufruf auf "Malus: MalusWert2(100*[perf_malus])"
    2) die zweiteinfachste Möglichkeit: Du änderst die Formatierung des Feldes "perf_malus" zB. auf "Standardzahl" und gibst als Feldwerte zB. 90.57 ein. Dann kannst du in der Abfrage deinen bisherigen Aufruf "Malus: MalusWert2([perf_malus])" belassen.
    3) die umständlichste Möglichkeit: Du änderst die Werte in den VBA-Makro-Funktionen: zB. änderst du "Prz <=82" auf "Prz <= 0.82", usw.
     
    Exl121150, 8. Mai 2019
    #6
Thema:

einen BIS-Wert aus Tabelle auslesen

Die Seite wird geladen...
  1. einen BIS-Wert aus Tabelle auslesen - Similar Threads - Wert Tabelle auslesen

  2. Auslesen eines Wertes aus verschiedenen Tabelle

    in Microsoft Excel Hilfe
    Auslesen eines Wertes aus verschiedenen Tabelle: Hallo, ich hoffe jemand hat einen guten Tipp für mich, denn ich stehe vor folgendem Problem. Ich habe als Ausgangsinformationen eine Anzahl von Mitarbeitern (z.B. 14), eine Kategorie (A, B, C)...
  3. Werte aus mehreren Tabellen auslesen, die mehrere Kriterien erfüllen

    in Microsoft Excel Hilfe
    Werte aus mehreren Tabellen auslesen, die mehrere Kriterien erfüllen: Ich benötige wieder einmal eure Hilfe, liebe Community, Excel 365; eigentliches Ziel: mehrere Drop-Listen erstellen, deren Auswahl abhängig von der vorherigen ist. Ich habe etliche Versuche...
  4. Werte aus anderer Tabelle auslesen

    in Microsoft Excel Hilfe
    Werte aus anderer Tabelle auslesen: Hallo, ich versuche schon seit Wochen Werte aus einer Tabelle aus zu lesen und diese dann per Formel (ich vermute das es mit Index + Vergleich) gehen könnte in eine Andere Tabelle bzw. in einen...
  5. SAP-Tabelle mit VBA auslesen und Werte exportieren

    in Microsoft Excel Hilfe
    SAP-Tabelle mit VBA auslesen und Werte exportieren: Hallo zusammen, es gibt zwar schon ein paar Themen hier dazu, allerdings finde ich keines, welches mir hier weiterhilft... es geht um Folgendes: Ich habe ein Excel Template, welches in SAP CO...
  6. Ersten Wert in Gefilterter Tabelle auslesen

    in Microsoft Excel Hilfe
    Ersten Wert in Gefilterter Tabelle auslesen: Hallo liebe Forenmitglieder, ich stehe vor einem kleinen Problem und hoffe auf Unterstützung. Ich besitze eine Excel Tabelle die so aufgebaut ist: Überschriften gehen von A2:J2; Daten gehen von...
  7. Mehrere Werte von verschiedenen Tabellen auslesen

    in Microsoft Excel Hilfe
    Mehrere Werte von verschiedenen Tabellen auslesen: Hallo Leute, ich habe einiges gelesen und viel probiert aber leider nicht geschafft. Ich versuche die rot markierte Bereiche von allen Monaten auslesen und in 2015 Arbeitstabelle schreiben, dabei...
  8. bestimmten Wert aus Tabelle auslesen

    in Microsoft Excel Hilfe
    bestimmten Wert aus Tabelle auslesen: Hallo, ich bin momentan total verzweifelt, da ich keine Formel hinbekomme, die so funktioniert, wie ich es will. Ich habe eine Umfrage gemacht und möchte gerne mit Excel die Auswertung machen....
Schlagworte:
  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