campo CALCOLO tramite ESEGUI SQL

Come utilizzare i campi. Differenze tra campi calcolati, testo, numero, multipli, contenitori.

Moderatore: Moderatori

Rispondi
flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

campo CALCOLO tramite ESEGUI SQL

Messaggio da flmkdev » martedì 11 luglio 2017, 17:18

Sempre io , volevo sapere come mai non funziona la seguente istruzione SQL che ho posto come base di calcolo in un campo :

Codice: Seleziona tutto

EseguiSQL 
("
SELECT conta_tot_dip,
FROM RUBRICA AZIENDE
WHERE INPUT DIPENDENTI::DATA CESS. is null and INPUT::DIPENDENTI::DATA SOSP. is null"
;"";"";"")
Sto provando e riprovando ma non conosco benissimo la sintassi SQL di FILEMAKER ...
FM PRO ADVANCED 17 + FMS 17 :!:

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

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da fabio.beri » martedì 11 luglio 2017, 17:27

1. Questo pezzo sicuramente non funziona
INPUT DIPENDENTI::DATA CESS
perché dopo WHERE si indica il nome del campo della tabella RUBRICA AZIENDE.

2. Rispetta il case sensitive. Nell'esempio hai messo tutto in maiuscolo ma non ho idea di come hai creato i campi
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

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

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da flmkdev » martedì 11 luglio 2017, 17:58

Grazie Fabio ma la tabella INPUT DIPENDENTI è COLLEGATA come origine esterna al DB RUBRICA AZIENDE.

INPUT::DIPENDENTI DATA CESS.

INPUT::DIPENDENTI DATA SOSP.

devono essere VUOTI entrambi per calcolare il numero di DIPENDENTI ATTIVI .

Avevo pensato anche a :

IF NOT(Evuoto(INPUT::DIPENDENTI DATA CESS.) and NOT(EVuoto(INPUT::DIPENDENTI DATA SOSP.)
EseguiSQL
("
.....
FM PRO ADVANCED 17 + FMS 17 :!:

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

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da fabio.beri » mercoledì 12 luglio 2017, 9:50

Attenzione, perché ESEGUISQL è una funzione molto "delicata". Perché se fai un minimo sbaglio ti restituisce un bel ? senza spiegarti il perché.

La sintassi di una SELECT è questa:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
quindi se tu metti il nome della tabella con i due punti e il nome del campo, HAI DI FATTO SBAGLIATO LA SELECT.

La sintassi per trovare i valori vuoti è questa:
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
quindi dove dice table name, metti il nome della tabella, mentre dove dice colum_name metti il nome del campo (senza il riferimento alla tabella).

Mi sono spiegato?
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

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

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da flmkdev » lunedì 17 luglio 2017, 16:16

Ho seguito il tuo consiglio ma continua a darmi un bel "?" ...

Questa la sintassi usata nell'istruzione SCRIPT = MOSTRA FINESTRA PERSONALIZZATA seguendo le tue istruzioni :

Codice: Seleziona tutto

EseguiSQL 
("
SELECT INPUT DIPENDENTI.SOCIETA,
COUNT(TOT_DIP_ATT)
FROM INPUT DIPENDENTI
WHERE INPUT DIPENDENTI.DATA CESS. IS NULL AND INPUT DIPENDENTI.DATA SOSP. IS NULL 
GROUP BY INPUT DIPENDENTI.SOCIETA"
;"";"";"")
il risultato dovrebbe andare a finire in un campo calcolato ho provato tramite secondo script :

Codice: Seleziona tutto

inserisci risultato calcolato : INPUT DIPENDENTI::PROVA
ESeguiSQL : ("EseguiSQL 
("
SELECT INPUT DIPENDENTI.SOCIETA,
COUNT(TOT_DIP_ATT)
FROM INPUT DIPENDENTI
WHERE INPUT DIPENDENTI.DATA CESS. IS NULL AND INPUT DIPENDENTI.DATA SOSP. IS NULL 
GROUP BY INPUT DIPENDENTI.SOCIETA"
;"";"";"")
Ma anche qui niente ...
FM PRO ADVANCED 17 + FMS 17 :!:

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

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da fabio.beri » lunedì 17 luglio 2017, 17:15

Togli tutti quei punti nei nomi di campi e tabella e usa gli underscore al posto degli spazi, poi modifica la select
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

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

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da flmkdev » mercoledì 26 luglio 2017, 11:06

Codice: Seleziona tutto

EseguiSQL 
("
SELECT SOCIETA,
COUNT(TOT_DIP_ATT)
FROM INPUT_DIPENDENTI
WHERE DATA_CESS IS NULL AND DATA_SOSP IS NULL 
GROUP BY SOCIETA"
;"";"";"")
Grazie Fabio ma continua a darmi un bel "?"
Anche levando il GROUP BY non funziona.

Non sapevo fosse così delicata la sintassi SQL su FILEMAKER !
FM PRO ADVANCED 17 + FMS 17 :!:

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

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da fabio.beri » mercoledì 26 luglio 2017, 11:21

EseguiSQL
("
SELECT SOCIETA,
COUNT(TOT_DIP_ATT)
FROM INPUT_DIPENDENTI
WHERE DATA_CESS IS NULL AND DATA_SOSP IS NULL
GROUP BY SOCIETA"
;"";"";"")
Non vedendo il file, devo fidarmi di te. Veramente, il nome della tabella (SOCIETA) e i nomi dei campi sono TUTTI IN MAIUSCOLO ?
Scusa se mi ripeto, perché questa cosa l'avevo già scritta

Seconda cosa: gli stai chiedendo tutti i record che hanno il campo DATA_CESS vuoto e contemporaneamente (cioé nello stesso record) anche DATA_SOSP vuoto. E' questo che vuoi chiedergli ?
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

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

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: campo CALCOLO tramite ESEGUI SQL

Messaggio da flmkdev » giovedì 27 luglio 2017, 11:06

Ciao Fabio , si , DATA_CESS IS NULL and DATA_SOSP IS NULL

La tabella si chiama INPUT DIPENDENTI
FM PRO ADVANCED 17 + FMS 17 :!:

Rispondi