2016-07-19 7 views
0

Ich arbeite an einem Makro in MS-Access, das einige Werte in Form überprüft.Wie werden mehrere Überprüfungen in Expression Builder in einem MS Access-Formular platziert?

Hier sind die Details von dem, was ich versuche zu tun:

Formular: in der Datenbank vorliegen, basierend auf einer Tabelle erstellt wird, und die Struktur des gleiche ist wie

DataType CalcType Percent1 Percent2 Percent3 percent_check 
    DT1  Avg  20  30  50  100 
    DT2  Mean  30  33  35  98 
    DT3  Sum  10  35  57  102 

Spalte CalcType ist ein Dropdown mit drei Optionen. Jede Option würde ein anderes Makro aufrufen, das für ihre Berechnung geschrieben wurde. Ich habe ein separates Feld percent_check hinzugefügt, um die Summe von P1, P2 & P3 zu validieren.

Anforderung: Ich möchte eine Bedingung schreiben, dass

IF DataType is DT1 
    THEN IF percent_check<=100 
     THEN IF CalcType = "Avg" Invoke Avg_Macro 
     ELSE IF CalcType = "Mean" Invoke Mean_Macro 
      ELSE Invoke Sum_Macro 
    ELSE Message(Adjust the percent to make total as 100) 

in ähnlicher Weise für den Rest der Datentypen.

Ich habe die Fälle, in Expression Builder geschrieben

IF Form!DataType = DT1 THEN 
     IF Form!percent_check <=100 THEN 
     IF Form!CalcType = Avg THEN RunMacro - Avg_Macro 
      ELSE IF Form!CalcType = Mean THEN RunMacro - Mean_Macro 
     ELSE RunMacro - Sum_Macro 
     ELSE MessageBox("Adjust percent to make total <=100) 

Aber ich bin weder irgendwelche Ergebnisse, die noch eine Fehlermeldung.

Könnte jemand bitte mir helfen, diesen Ausdruck für das Erhalten der erforderlichen Ergebnisse zu schreiben.

Danke !!

Antwort

0

Verwenden Sie VBA und schreiben Sie die Makros auch in VBA um.

+0

Die in der Entwurfsansicht von Macro geschriebenen Bedingungen waren korrekt, aber die Ergebnisse wurden nicht korrekt. Ich konvertierte es in VBA und debugged das gleiche. Ich habe die Ausgabe jeder Anweisung nach der Ausführung gefunden und ich habe bekommen, wonach ich gesucht habe. Danke @Rene – honey