Aprire finestra con avviso sotto certe condizioni

  • Guru Corner
  • Aprire finestra con avviso sotto certe condizioni

Aprire finestra con avviso sotto certe condizioni

0
0

Buongiorno a tutti,

vorrei fare in modo che se in un sottogruppo di una mia tabella un campo (booleano) sia pari ad uno per tutti i record di quel sottogruppo allora si apra una finestra con un particolare avviso.

 

Es.

Ho una tabella con persone di vari continenti e con un campo  “para italiano/non parla italiano”. Se per tutte le persone del continente America il campo parla italiano è vero allora deve aprirsi la finestra.

Segnalato come spam
Pubblicata da (Domande: 6, Risposte: 6)
Domanda inviata 14 Luglio 2015 10:42
46 vis.
0
Domanda privata

appunto con il calcolo che ti avevo suggerito: conteggiovalore(tuarelazione::tuachiaveprimaria)
chiamasi chiave primaria un campo che identifichi un record in una tabella in maniera univoca. in FM hai vari modi per ottenerla, dal numero di serie in fase di creazione a funzioni come get(IDUU) o get(IDrecord).

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 15 Luglio 2015 12:23
0
Domanda privata

Diciamo che forse ci sono quasi, ma, purtroppo, non so di nuovo cosa sia la chiave primaria…

Ho creato l’autorelazione ( con simbolo = sul campo numero id). Vorrei verificare in qualche modo che effettivamente ora posso sapere quanti sono i record con uno stesso numero id…

 

Segnalata come spam
Pubblicata da (Domande: 6, Risposte: 6)
Risposta inviata 14 Luglio 2015 23:13
0
Domanda privata

il foundset è semplicemente l’insieme di record sul quale stai lavorando (possono essere tutti o il risultato della ricerca). un’autorelazione è una relazione fra due campi di una stessa tabella. diciamo che tu metti in relazione tuatabella::numero id con tuatabella::numero id.

A questo punto idealmente ogni record con un certo valore nel campo numero::id è correlato con tutti gli altri record che hanno il medesimo valore nel medesimo campo. Puoi quindi ricavare il numero dei booleani con un calcolo tipo somma(tuarelazione::tuocamponumerico) e il numero dei record con un calcolo tipo conteggiovalore(tuarelazione::tuachiaveprimaria) [perché tu _hai_ usato una chiave primaria, veeeeero? ;) ]. Il trigger è una funzione che attiva uno script quando vengono soddisfatte certe condizioni, come, ad esempio, la modifica di un campo. Puoi quindi impostare un trigger SuModificaCampo sul campo booleano che lanci uno script che in sostanza dica:

if(conteggiovalore(tuarelazione::tuachiaveprimaria)=somma(tuarelazione::tuocamponumerico)]

fai qualcosa

end if

 

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 14 Luglio 2015 21:01
0
Domanda privata

Ciao Giulio e grazie mille per la tua risposta, puntuale e, ahimè tecnica.

Purtroppo uso filemaker da poco e non sono ”ferrato” nelle terminologie del ”nostro software” (mea culpa).

Il mio database è una semplice tabella in cui alcuni record, in un particolare campo numerico, hanno un valore uguale (poniamo che su 1000 record 10 abbiano ”numero id” = 121). Poniamo inoltre che per 9 di quei record il campo booleano ”eseguito” sia pari ad uno e per il restante record sia vuoto (zero).

Vorrei che la finestra di allarme popup si aprisse quando anche il decimo record assume il valore ”eseguito” pari ad 1.

Sono certo che mi hai già risposto, ma non capisco cosa indica precisamente foundset e non so usare trigger e autocorrelazione.

 

Grazie per eventuali consigli e/o link a pagine utili per il mio caso.

 

Segnalata come spam
Pubblicata da (Domande: 6, Risposte: 6)
Risposta inviata 14 Luglio 2015 18:24
0
Domanda privata

Buongiorno, Luciano.

è abbastanza semplice se il tuo sottogruppo si indentifica con il foundset. In caso contrario puoi riuscirci con un trigger e un’autorelazione, ma dipende molto dalla struttura del tuo DB.

tienici informati!

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 14 Luglio 2015 16:47