Pagina 1 di 1
Impostare automaticamente il valore di un campo
Inviato: 31 ago 2021, 07:26
da r_castaldo
Buongiorno
vorrei che il campo, nello specifico "cod_evento", sia generato in automatica attraverso la combinazione di valore presenti in altri campi e recuperando l'ultimo id (valore auto-incrementale generato).
In parte è semplice poichè è sufficiente impostare nel campo relativo al valore di immissione i riferimenti ai rispettivi campi es. {nome_prodotto}/{desc_prodotto}
Riguardo l'ultimo id inserito dovrei recuperarlo con una quary mysql del tipo: select ((MAX id_evento)+1) as max_id from tab_eventi
Come posso fare per aggiungerlo?
Inoltre, nel campo di immissione dei dati si possono operare delle funzioni di stringa del tipo, estrarre i primi 3 caratteri del valore inserio in {desc_prodotto}
Grazie
Re: Impostare automaticamente il valore di un campo
Inviato: 31 ago 2021, 08:44
da Fabio
Buongiorno,
le operazioni che vuoi fare puoi farle rispettivamente negli eventi onLoad (per assegnare un valore calcolato al campo "cod_evento" ed onValidateSuccess per estrarre valori dai campi già compilati.
Nel primo caso, prima di modificare il valore del campo, controlla sempre che sia vuoto, così non farai modifiche in fase di update.
Es.
if({cod_evento})==''{
{cod_evento} = nuovo valore...
}
Re: Impostare automaticamente il valore di un campo
Inviato: 31 ago 2021, 11:39
da r_castaldo
Grazie Fabio
gentilissimo
una delucidazione...
Il nuovo valore posso estrarle inserendo la query mysql?
Richiede una sintassi particolare o posso riportarla dopo l'uguale tra gli apici?
Nell'eventualità potrei creare una variabile del tipo: $var_id_evento = "select......"
e poi
if({cod_evento})==''{
{cod_evento} = $id_var_evento
}
Re: Impostare automaticamente il valore di un campo
Inviato: 02 set 2021, 14:03
da rino
r_castaldo ha scritto: 31 ago 2021, 11:39
Grazie Fabio
gentilissimo
una delucidazione...
Il nuovo valore posso estrarle inserendo la query mysql?
Richiede una sintassi particolare o posso riportarla dopo l'uguale tra gli apici?
Nell'eventualità potrei creare una variabile del tipo: $var_id_evento = "select......"
e poi
if({cod_evento})==''{
{cod_evento} = $id_var_evento
}
Non mi è chiaro
se il valore ultimo evento è un qualcosa delal tabella primaria xhe uao allora devi effettuare LAST_INSERT_ID() per avere il valore corretto.
ovviamente da fae subito dopo l insert nell evento afterinsert()
Per seguire una query devi eseguire il comando specifico che può variare a seconda del motore usato , per questo devi usare
sc_lookup che gestisce tutto restituendoti un array coj valori trovati .
nella tua istruzione '
{cod_evento} = $id_var_evento' non fai altro che assegnare alla variabile $cod_evento la stringa che hai messo in $var_id_evento.
nella realtà la macro sc_lookup effettua una serie di istruzioni che inziano dal connettersi al db prosegioon con l accedere alla taella e finiscono col rendee disponibili i risutlati in un array riga/colonna che dovrai leggere con loop di scansione .
Spero di aver capito il tuo problema.