Finestra di dialogo Popup che seleziona il nome della colonna<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salve, sto cercando di creare uno script in cui l'utente inserisce il nome della colonna nella finestra di dialogo popup e lo script
1. sottoimposta le righe con i dati sotto il nome della colonna e
2. crea una nuova colonna che esegue alcune semplici formule con il nome della colonna immesso.
Non so come farlo, quindi ho codificato il nome della colonna di seguito. Come posso sostituire :XX01 in modo tale che, indipendentemente da ciò che l'utente inserisce nella finestra di dialogo, funzionerà. Ho le colonne XX01, XX02, XX03 e così via...
popup = Finestra di dialogo(
Titolo( "Tabella di riepilogo" ),
" ",
" Inserisci Softbin XX:",
Formazione (6,
"ID contenitore software",
Soft_Bin = numeromodifica( 01 )
),
Pulsante( "Ok" ),
Pulsante("Annulla")
);
masterdt <
masterdt << Inverti selezione riga;
sbdt = masterdt << Sottoinsieme((Righe selezionate), Nome tabella di output("Dati Softbin selezionati"));
sbdt << Nuova colonna( "Bin%", Numerico, Continuo, Formato("Percentuale",12,2), Formula( :XX01 / :LOT_SORTED_DIES ) );
Ri: Finestra di dialogo Popup che seleziona il nome della colonnaEsatto, sei MS. Grazie per la correzione.
Ri: Finestra di dialogo Popup che seleziona il nome della colonnaGrazie MS! Ora funziona 
Ri: Finestra di dialogo Popup che seleziona il nome della colonnaPenso che l'espressione funzionerà se analizzata prima valutata:
Val ( Analizzare (espressione_formula));
Ri: Finestra di dialogo Popup che seleziona il nome della colonnaGrazie PMroz, la finestra è davvero utile. Tutto è liscio tranne la porzione Nuova colonna.
Non sono sicuro di cosa ho fatto di sbagliato, ma la frase eval insert continua a non funzionare anche se l'espressione nel registro mi sembra a posto:\
masterdt = Nuova tabella ("Master DT", Aggiungi righe (5),
Nuova colonna( "XX01", Numerico, Continuo, Formato( "Migliore", 12 ),
Imposta valori( [1, 2, ., 3, 4] )
),
Nuova colonna( "XX02", Numerico, Continuo, Formato( "Migliore", 12 ),
Imposta valori( [., 1, 2, ., .] )
),
Nuova colonna( "XX03", Numerico, Continuo, Formato( "Migliore", 12 ),
Imposta valori( [., ., 1, 2, 3] )
),
Nuova colonna( "LOT_SORTED_DIES", Numerico, Continuo, Formato( "Migliore", 12 ),
Imposta valori ([10, 10, 10, 20, 30])
)
);
popup = Nuova finestra( "Tabella di riepilogo", <
Casella di testo("Inserisci Softbin XX:"),
Casella di riepilogo H(
Casella di testo( "ID Softbin: "),
Soft_Bin = Casella di modifica numero (01),
),
hlistbox(
Casella dei pulsanti ("Ok",
ok_bandiera = 1;
ncol = soft_bin << ottieni;
se (ncol < 9,
col_selezionato = "XX0" || char(ncol);
,
col_selezionato = "XX" || char(ncol);
)
),
Casella dei pulsanti("Annulla", ok_flag = 0),
)
);
Se( ok_flag,
righe_mancanti = masterdt << ottieni righe dove (! Manca (come colonna (masterdt, selezionato_col)));
Se (N righe (righe_mancanti) > 0,
masterdt <
sbdt = masterdt << Sottoinsieme ((righe selezionate), nome tabella di output ("dati softbin selezionati"));
espressione_formula = Inserisci valutazione(
"\[sbdt << Nuova colonna( "Bin%", Numerico, Continuo, Formato( "Percentuale", 12, 2 ), Formula( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
);
Analizza(Eval(espressione_formula));
);
);
Ri: Finestra di dialogo Popup che seleziona il nome della colonnaQuesto farà quello che vuoi.Ho convertito il tuo codice per utilizzare una nuova finestra invece della finestra di dialogo.Ho dovuto eseguire un parse(eval()) per la formula della colonna.
masterdt = Nuova tabella ( "Maestro DT" , Aggiungi righe ( 5 ) ,
Nuova colonna ( "XX01" , Numerico , Continuo , Formato ( "Migliore" , 12 ) ,
Imposta valori ( [ 1 , 2 , . , 3 , 4 ] )
) ,
Nuova colonna ( "XX02" , Numerico , Continuo , Formato ( "Migliore" , 12 ) ,
Imposta valori ( [ . , 1 , 2 , . , . ] )
) ,
Nuova colonna ( "XX03" , Numerico , Continuo , Formato ( "Migliore" , 12 ) ,
Imposta valori ( [ . , . , 1 , 2 , 3 ] )
)
) ;
apparire = Nuova finestra ( "Tabella riassuntiva" , << modale () ,
Casella di testo ( "Inserisci Softbin XX:" ) ,
Casella di riepilogo H (
Casella di testo ( "ID Softbin: " ) ,
Soft_Bin = Casella di modifica numero ( 01 ) ,
) ,
hlistbox (
Casella dei pulsanti ( "OK" ,
ok_flag = 1 ;
ncol = soft_bin << Ottenere ;
Se ( ncol < 9 ,
selezionato_col = "XX0" || car ( ncol ) ;
,
selezionato_col = "XX" || car ( ncol ) ;
)
) ,
Casella dei pulsanti ( "Annulla" , ok_flag = 0 ) ,
)
) ;
Se ( ok_flag ,
righe_mancanti = masterdt << ottieni righe dove ( ! Manca ( come Colonna ( masterdt , selezionato_col ) ) ) ;
Se ( N righe ( righe_mancanti ) > 0 ,
masterdt << seleziona le righe ( righe_mancanti ) ;
sbdt = masterdt << Sottoinsieme ( ( Righe selezionate ) , Nome della tabella di output ( "Dati Softbin selezionati" ) ) ;
espressione_formula = Inserisci valutazione (
"\[sbdt << Nuova colonna( "Bin%", Numerico, Continuo, Formato( "Percentuale", 12, 2 ), Formula( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
) ;
Analizzare ( Val ( espressione_formula ) ) ;
) ;
) ;