2017-02-16 3 views
0

Ich habe meine Abfrage als Befehl hinzugefügt. Jetzt möchte ich diese Flexibilität im Datumsbereich. Ich möchte einen Wert aus dem Formelfeld wie unten abzurufen:Verwenden Formelfeld auf Befehl

select field1, field2, field3, 
    case 
    when flag = 0 and yes_date = {@the_date} 
     then 'ok' 
    when flag > 0 
     then 'not_ok'  
    end as currentsts 
from trans 

Das Formelfeld @the_date durch die Anwendung bevölkert wird, bevor Sie den Bericht aufrufen. Wie kann ich das erreichen?

+0

was ist der Fehler? – jambonick

Antwort

0

Sie können eine Formel nicht in einer Befehlsabfrage verwenden. Sie können nur einen Befehlsparameter haben, den Sie mit dem Datenbankexperten erstellen. Der Befehlsparameter würde wie folgt aussehen:

yes_date = {?the_date}

Wenn Sie den Bericht mit einem Befehl Parameter ausführen, können Sie einen empfohlenen Standardwert oder einen Wert in manuell eingeben. Dieser Wert wird dann Teil Ihrer Abfrage, normalerweise irgendwo in Ihrer where-Klausel.

enter image description here

+0

muss es ein Wert sein, der von der Anwendung übergeben wird. keine Problemumgehungen? – lorraine

+0

Ich kenne keine Möglichkeit, Parameter auf SQL-Ebene zu übergeben, ohne sie manuell einzugeben. Es gibt viele Online-Tech-Artikel zur Verwendung eines Parameters (nicht Befehlsparameter), wo ein Standardwert verwendet werden kann ... aber Sie müssen alle Ergebnismengen zurückgeben und anschließend nicht vorher filtern. – Sun