Ergebnis 1 bis 3 von 3

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

  1. #1
    Office-Hilfe.com - Neuling
    Registriert seit
    12.04.2019
    Beiträge
    1

    einen BIS-Wert aus Tabelle auslesen

    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 (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

  2. #2
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.123
    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
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

  3. #3
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.123
    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
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Excel Ticker - News, Tipps und Tricks zu Microsoft Excel | SMS kostenlos versenden | Forenuser - Die Foren Findmaschine