<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
J'essaie d'écrire un script qui crée un sous-ensemble basé sur deux choix dans une liste déroulante dynamique. Il semble que la partie de dialogue est bonne puisque mes variables sont en cours de sauvegarde au fur et à mesure que je les sélectionne, mais la génération réelle du sous-ensemble ne fonctionne pas.
/ * Supprimer temporairement la partie de base de données ouverte * /
clearGlobals ():
ER_Temp = Open ("C: \ Utilisateurs \ Kilik \ Desktop \ Tbl_RIE_ERS.jmp");
/ * Extraire une liste de films uniques dans le set "a" et des outils uniques dans le set "b" * /
Résumer (a = Par (: Film));
Insérer dans (a, "", 1);
Résumer (b = par (: outil));
Insérer dans (b, "", 1);
/ * Créer un dialogue * /
Nouvelle fenêtre ("Exemple",
<< modal,
Zone de liste H (
/ * Crée une boîte à partir de laquelle sélectionner le film * /
Panneau de sélection ("Sélectionnez un film:",
cb1 = zone de liste déroulante (
une,
<< SetFunction (
Fonction ({this},
myFilm = this << Obtenir la sélection ();
)
)
)
),
/ * Crée une boîte dans laquelle sélectionner l'outil * /
Panneau de configuration ("Sélectionnez un outil:",
cb2 = zone de liste déroulante (
b,
<< SetFunction (
Fonction ({this},
myTool = this << Obtenir la sélection ();
)
)
)
),
)
)
// crée un sous-ensemble basé sur les deux sélections
ER_Temp << clearRowStates;
ER_Temp << selectWhere ((: Film == monFilm) & (: Outil == monOutil));
Selection = ER_Temp << Sous-ensemble (nom de la table de sortie ("selection")));
Merci,
David
Salut David.
Dans cet exemple, myFilm et myTool seront des chaînes. En tant que Select Where est écrit, si: Film ou: Tool sont des colonnes numériques, aucune ligne ne sera sélectionnée car il est impossible pour une colonne numérique d'avoir une valeur de chaîne. La fonction Num () convertira un nombre représenté par une chaîne (par exemple, "12") en une valeur numérique.
Une autre chose à considérer est qu'il pourrait être possible que les données ne contiennent aucune valeur correspondante pour les sélections effectuées dans votre nouvelle fenêtre. L'utilisateur se voit présenter toutes les valeurs uniques de: Film et les valeurs uniques de: Tool, mais cela ne signifie pas que pour chaque valeur de: Film, chaque valeur de: Tool est représentée dans les données. L'instruction Select Where () sélectionne uniquement les lignes dans lesquelles les deux conditions sont vraies.
J'espère que cela pourra aider.
Wendy
Vous avez une parenthèse supplémentaire dans votre déclaration de sous-ensemble. De plus, j'éviterais qu'une variable et une table aient le même nom. Changez le en:
Select_dt = ER_Temp << Sous-ensemble ( nom de la table de sortie ( "sélection" ) , lignes sélectionnées ( 1 )) ;