Auswählen einer Zelle und Verwenden des Werts dieser Zelle für eine SQL-Abfrage<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich vermute, das ist extrem einfach, aber ich habe hier ein bisschen zu kämpfen.
Das folgende Skript funktioniert gut. Im Moment werden Daten durch eine SQL-Abfrage ausgewählt, bei der das Packhouse "ALBS" ist.
Ich möchte, dass der Packhouse-Wert aus einer Zelle in einer Liste in einer JMP-Tabelle ausgewählt wird. Ich möchte in der Lage sein, eine Zelle auszuwählen und die Abfrage zu öffnen, die sich auf diesen Wert bezieht, und nicht "ALBS".
Packhaus = "ALBS" ;
dsn_string = "DSN = TRG-SQL13; UID =; Trusted_Connection = Ja; APP = JMP; WSID = MTMLAP160; DATABASE = ZS_Export." ;
sql_string = "SELECT top 5 PalletID, dtTempSample, TempSampleValue" ||
"FROM dbo.tb_Raw_Data" ||
"WHERE tb_Raw_Data.SiteName = '" || Packhaus || "" ||
"AND tb_Raw_Data.ShipmentID = 'warehouse'" ||
"order by palletid, dttempsample" ;
dt = offene Datenbank ( dsn_string . sql_string . Packhaus ) ;
Auswählen einer Zelle und Verwenden des Werts dieser Zelle für eine SQL-AbfrageHier ist ein Dialogfeld, in dem Sie eine Einrichtung auswählen und dann die SQL damit aufrufen können.
// Facility-Auswahl Dialog.jsl
// Ersetze dies durch deine eigene Tabelle ...
dt = Neue Tabelle ( "Anlagen" .
Zeilen hinzufügen ( 6 ) .
Neue Spalte ( "Einrichtung" .
Charakter .
Nominal .
Werte setzen ( { "ALBS" . "POKI" . "MOLJ" . "ZXQQ" . "GXRS" . "IPQA" } )
)
) ;
facility_list = Säule ( dt . "Einrichtung" ) << Werte erhalten ;
dsn_string = "DSN = TRG-SQL13; UID =; Trusted_Connection = Ja; APP = JMP; WSID = MTMLAP160; DATABASE = ZS_Export." ;
fac_win = neues Fenster ( "Anlage auswählen" .
Panelbox ( "Wählen Sie aus, für welche Funktion Daten abgerufen werden sollen" .
select_facility_lb = Listbox ( facility_list . Breite ( 100 ) . nlines ( 10 ) .
max ausgewählt ( 1 )
) .
) .
Panelbox ( "Aktionen" .
Buttonbox ( "OK" .
selected_list = select_facility_lb << ausgewählt werden ;
selected_facility = selected_list [ 1 ] ;
sql_string = "SELECT top 5 PalletID, dtTempSample, TempSampleValue" ||
"FROM dbo.tb_Raw_Data" ||
"WHERE tb_Raw_Data.SiteName = '" || selected_facility || "" ||
"AND tb_Raw_Data.ShipmentID = 'warehouse'" ||
"order by palletid, dttempsample" ;
fac_dt = offene Datenbank ( dsn_string . sql_string . selected_facility ) ;
fac_win << Fenster schließen ;
) .
Buttonbox ( "Stornieren" .
fac_win << Fenster schließen ;
)
)
) ;
// end Facility Selector Dialog.jsl
Auswählen einer Zelle und Verwenden des Werts dieser Zelle für eine SQL-AbfrageVielleicht ist es besser für dich:
dtP = Datentabelle ("Ihre Packouse-Tabelle");
dsn_string = "DSN = TRG-SQL13; UID =; Trusted_Connection = Ja; APP = JMP; WSID = MTMLAP160; DATABASE = ZS_Export";
CurrentDataTable (dtP);
ir_selected = dtP << Ausgewählte Zeilen abrufen ();
Packhouse =: Packouse [Ir_selected [1]];
sql_string = "SELECT top 5 PalletID, dtTempSample, TempSampleValue" ||
"FROM dbo.tb_Raw_Data" ||
"WHERE tb_Raw_Data.SiteName = '" || Packhaus || "'" ||
"AND tb_Raw_Data.ShipmentID = 'warehouse'" ||
"order by palletid, dttempsample";
dt = offene Datenbank (dsn_string, sql_string, packhouse);
Auswählen einer Zelle und Verwenden des Werts dieser Zelle für eine SQL-AbfrageDas obige Skript tut nicht das, was ich will.
Ich habe bereits eine Liste von Packhausnamen in einer Tabelle, etwa 20 davon. Ich möchte in der Lage sein, auf einen dieser Namen zu klicken, um die Zelle auszuwählen, und dann die obige Abfrage mit dem Wert in der Zelle anstelle von ALBS auszuführen. Ich denke, ich möchte einen Namen erstellen, z. B. facilty = aktuelle Zelle, der das Wort "facility" in meiner Abfrage verwendet.
Auswählen einer Zelle und Verwenden des Werts dieser Zelle für eine SQL-AbfrageHier könnte eine Lösung für Sie sein:
dtP = Neue Tabelle ("Packouse-Tabelle"),
Zeilen hinzufügen (3),
Neue Spalte ("Packouse")
Charakter,
Nominal,
Werte setzen ({"ALBS", "POKI", "MOLJ"})
)
);
dsn_string = "DSN = TRG-SQL13; UID =; Trusted_Connection = Ja; APP = JMP; WSID = MTMLAP160; DATABASE = ZS_Export";
CurrentDataTable (dtP);
lstPackouse = column ("Packouse") << GetAsMatrix;
Für (i = 1, i <= NItems (lstPackouse), i ++,
packhouse = lstPackouse ;
sql_string = "SELECT top 5 PalletID, dtTempSample, TempSampleValue" ||
"FROM dbo.tb_Raw_Data" ||
"WHERE tb_Raw_Data.SiteName = '" || Packhaus || "'" ||
"AND tb_Raw_Data.ShipmentID = 'warehouse'" ||
"order by palletid, dttempsample";
dt = offene Datenbank (dsn_string, sql_string, packhouse);
);