Verwendung der globalen Variablen im Matrix- oder String-Format<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Wie verwende ich die globalen Variablen im Matrix- oder String-Format? Zum Beispiel haben die folgenden Codes für einen Geschlechtswert gut funktioniert:
Globals freischalten ( openc ) ;
openc = Funktion ({ gen } .
:: gen = "F";
new = Datenbank öffnen ( "DSN = Excel - Dateien; DBQ = c: \ Benutzer \ xxu \ Documents \ big class.xlsb
; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5; ",
"SELECT * FROM Big_Class WHERE Big_Class.sex = '" || ( :: gen ) || "'",
"Neu"
)
) ;
Sperren Sie Globals ( openc ) ;
openc ( gen ) ;
Jetzt muss ich das globale GEN durch zwei Werte F und M ersetzen, dh :: gen = ”F, M”; Wie identifiziert die Where-Klausel in Select-Anweisung die beiden Werte anstelle eines Zeichenfolgenwerts? Wie kann man also die Codes ändern? Ich habe die Funktion parsen ausprobiert und es hat nicht funktioniert.
Globals freischalten ( openc ) ;
openc = Funktion ({ gen } .
:: gen = "F, M";
new = Datenbank öffnen ( "DSN = Excel - Dateien; DBQ = c: \ Benutzer \ xxu \ Documents \ big class.xlsb;
; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5; ",
"SELECT * FROM Big_Class WHERE Big_Class.sex IM ( '"|| ( :: gen ) || "' ) ",
"Neu"
)
) ;
Sperren Sie Globals ( openc ) ;
openc ( gen ) ;
Die obigen Codes wurden für zwei Werte von Gen geändert, sie funktionierten jedoch nicht. Hatten Sie Erfahrung mit mehreren Werten der Variablen in where-Klausel? Oder haben Sie eine Empfehlung?
Verwendung der globalen Variablen im Matrix- oder String-FormatJa, ORDER BY funktioniert auch.
Meine Güte, Sie haben mein Problem gelöst, das mich wochenlang verwirrt und mein Projekt in die Länge gezogen hat. Danke nochmal für deine Hilfe.
Verwendung der globalen Variablen im Matrix- oder String-FormatSie können die GROUP BY-Anweisung nur verwenden, wenn Sie die Daten irgendwie gruppieren, dh mit einem Count (*) oder SUM () usw. Meinten Sie vielleicht ORDER BY? Einfach mit dem Ende || Verkettungsoperator.
sql_string = "SELECT * FROM Big_Class WHERE Big_Class.sex IN" || in_list || "BESTELLUNG NACH GEWICHT" ;
Wenn es sich bei Ihrem Sortierschlüssel erneut um eine Variable handelt, befestigen Sie sie einfach am Ende:
Sortieren nach = "GEWICHT" ;
sql_string = "SELECT * FROM Big_Class WHERE Big_Class.sex IN" || in_list || " SORTIEREN NACH " || Sortieren nach ;
Verwendung der globalen Variablen im Matrix- oder String-FormatDanke für Ihre Hilfe. Das ist jedem hilfreich.
Ein weiteres Problem ist jetzt in meinem Code. Am Ende muss auch noch GROUP BY hinzugefügt werden. Zum Beispiel GROUP BY WEIGHT. Wie kann man in diesem Fall "Gruppieren" setzen?
Danke noch einmal.
Verwendung der globalen Variablen im Matrix- oder String-FormatDies sollte tun, was Sie wollen. Ich würde Ihre Werteliste ändern, um nach einer echten JMP-Liste zu suchen. Verwenden Sie dann die CONCAT ITEMS-Funktion, um sie in eine IN-Liste zu konvertieren.
meine Liste = { "F" . "M" } ;
in_list = "('" || Concat Artikel ( meine Liste . "", "" ) || "')" ;
sql_string = "SELECT * FROM Big_Class WHERE Big_Class.sex IN" || in_list ;
Neu = Datenbank öffnen ( "DSN = Excel - Dateien; DBQ = c: \ Benutzer \ xxu \ Documents \ big class.xlsb
; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5; " .
sql_string . "Neu" ) ;