ricerca  Risolto!

Come utilizzare gli script. Automatizzare gli archivi. Utilizzo dei pulsanti

Moderatore: Moderatori

Rispondi
fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

ricerca

Messaggio da fmstb » mercoledì 24 aprile 2019, 9:30

ho un problema con un campo.
Nel formato PROGRAMMA ho il campo <<data>> che in fase di input è un calendario a discesa da cui inserisco i valori con un click.
Tutto ok fino a qui.
Quando eseguo la ricerca questo è il primo campo ad attivarsi visualizzando immediatamente il calendario a discesa. Anche questo non è un problema.

Il problema si presenta in fase di script.

eseguo una ricerca con questi valori:

<<ora>>
<<nome_giorno>>
<<evento>>

lo script ricava i valori da una selezione.
Dovrebbe semplicemente eseguire la ricerca, poi dovrò far cancellare i record, ma per il momento sullo script mi sono fermato a questo perché non lo fa.

In script debugger facendo l'esecuzione passo passo vedo che si attiva sempre il campo data, ma non vengono mai inseriti i valori corretti negli altri campi che non vengono mai impostati.

ho provato a generare dei campi temporanei per verificare il contentuo della ricerca che è corretto.


la parte incriminata dello script è così:


passa al modo trova [pausa: disattivata]
imposta campo [ora; valore]
nuovo record/richiesta
imposta campo [nome_giorno; valore]
nuovo record/richiesta
imposta campo [evento; valore]

esegui la ricerca []


tutto qui. Eppure non fa quello che deve. Lo script è attivo sul formato senza alcun passaggio... insomma non deve prendere valori da chissà quale formato. Unica anomalia è vedermi attivare sempre il campo data (che nemmeno richiedo) e non vedere mai nei corrispondenti campi i valori di ricerca.
Altra cosa che non ho detto... il campo <<nome_giorno>> è un campo calcolato che non è presente nel formato perché prende i valori dalla data. Forse anche questo può creare problemi? Io imposto valori di un campo non visibile. Però lo script non funziona nemmeno quando questo campo è vuoto.

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: ricerca

Messaggio da fmstb » mercoledì 24 aprile 2019, 10:16

sto spezzando lo script in elementi minimi e mi sono accorto che in ricerca non imposta nessun campo.
Non posso utilizzare "imposta campo" nel modo trova???

Avatar utente
fabio.beri
Messaggi: 1958
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: ricerca

Messaggio da fabio.beri » mercoledì 24 aprile 2019, 11:54

Codice: Seleziona tutto

passa al modo trova [pausa: disattivata]
imposta campo [ora; valore]
nuovo record/richiesta
imposta campo [nome_giorno; valore]
nuovo record/richiesta
imposta campo [evento; valore]

esegui la ricerca []
Imposta campo si può utilizzare tranquillamente in TROVA.

In questo pezzetto, stai chiedendo:
i records che nel campo ora hanno un determinato valore
+
i records che nel campo nome_giorno hanno un determinato valore
+
i records che nel campo evento hanno un determinato valore.

Se la ricerca che volevi fare è questa, allora lo script è giusto
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: ricerca

Messaggio da fmstb » mercoledì 24 aprile 2019, 12:37

ti allego l'esempio. In realtà io vorrei da un portale determinare i criteri di ricerca. Poi, dato che i criteri sono molti e ricorrenti, con un pulsante procedo all'eliminazione dei record. Ma se tu provi a guardare lo script di ricerca (incompleto) vedrai in debugger, che di fatto non cerca niente.
Ho provato anche a togliere la questione dell'aggiunta di criteri… Potrebbe essere che io debba solo eliminare record con una determinata ora, o con una determinata data… Ma non capisco perché la ricerca non avviene e il debugger dice di non trovare record perché i campi sono senza valori.

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: ricerca

Messaggio da fmstb » mercoledì 24 aprile 2019, 12:42

devo fare qualche aggiunta. Ho creato una tabella per generare i record per le ricerche.
Ognuno dei 3 campi genera una lista. Ho preferito fare 3 liste separate che un campo calcolato unico perché poi se no dovevo scorporare tutti i valori con successivi calcoli. Io ho preferito creare un campo "ponte" che assegna il valore "~" se il campo di riferimento (data, ora o contenuto) sono vuoti. La ragione di questo è che così per ognuno di essi ho sempre il numero di record uguali. Questo mi serve quando nello script determino il numero di loop necessari e anche per ricavare i valori delle 3 liste in modo che siano sempre corrispondenti al record di ricerca. Poi inverto il discorso in ricerca: se il campo ha valore "~" allora lascio il campo vuoto, altrimenti utilizzo il valore corrispondente alla lista… se solo funzionasse però...

Avatar utente
fabio.beri
Messaggi: 1958
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: ricerca

Messaggio da fabio.beri » mercoledì 24 aprile 2019, 15:41

Perdonami. Non me ne volere, ma non apro i files degli utenti del forum. Sforzati di capire, facendo A MANO ogni singolo passo che hai messo nello script, il perché lui non trovi nulla con la ricerca che hai impostato.

Lo script è un automatismo di ciò che si farebbe a mano. Se non segui questo consiglio, non scoprirai mai il TUO ERRORE. Sottolineo tuo perché FileMaker si limita a ripetere ciò che gli dici di fare.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: ricerca

Messaggio da fmstb » mercoledì 24 aprile 2019, 18:15

nessun problema. Quando si fa un errore alle volte gli occhi di un altro vedono più facilmente. Nel file non ho messo altro che il "frammento" che mi interessa. È un documento creato appositamente senza altro dentro. Ho pensato che descrivere sia più difficile che mostrare e poi io sono una frana nelle descrizioni. Se qualcuno può darmi indicazioni ringrazio, ma certamente io non smetterò di cercare.

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: ricerca  Risolto!

Messaggio da fmstb » mercoledì 24 aprile 2019, 19:13

mi rispondo da solo. Ho continuato a cercare e ho scoperto che per far funzionare lo script è importante la posizione del comando "passa al modo trova". Bisogna definire delle variabili prima e non come ho fatto io che inserivo un calcolo come valore di campo.

Quindi
1) definire la variabile - anche come calcolo
2) passare al modo trova
3) inserire le variabili nei campi

fatto

Rispondi