campo CALCOLO tramite ESEGUI SQL
Moderatore: Moderatori
-
- Messaggi: 342
- Iscritto il: giovedì 14 gennaio 2016, 9:48
- Versione FileMaker: 14.03
- Sistema operativo: Windows 10 Pro
campo CALCOLO tramite ESEGUI SQL
Sempre io , volevo sapere come mai non funziona la seguente istruzione SQL che ho posto come base di calcolo in un campo :
Sto provando e riprovando ma non conosco benissimo la sintassi SQL di FILEMAKER ...
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"
;"";"";"")
FM PRO ADVANCED 17 + FMS 17
- 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
1. Questo pezzo sicuramente non funziona
2. Rispetta il case sensitive. Nell'esempio hai messo tutto in maiuscolo ma non ho idea di come hai creato i campi
perché dopo WHERE si indica il nome del campo della tabella RUBRICA AZIENDE.INPUT DIPENDENTI::DATA CESS
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
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- 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
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
("
.....
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
- 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
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:
La sintassi per trovare i valori vuoti è questa:
Mi sono spiegato?
La sintassi di una SELECT è questa:
quindi se tu metti il nome della tabella con i due punti e il nome del campo, HAI DI FATTO SBAGLIATO LA SELECT.SELECT column1, column2, ...
FROM table_name
WHERE condition;
La sintassi per trovare i valori vuoti è questa:
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).SELECT column_names
FROM table_name
WHERE column_name IS NULL;
Mi sono spiegato?
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- 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
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 :
il risultato dovrebbe andare a finire in un campo calcolato ho provato tramite secondo script :
Ma anche qui niente ...
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"
;"";"";"")
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"
;"";"";"")
FM PRO ADVANCED 17 + FMS 17
- 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
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
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- 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
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"
;"";"";"")
Anche levando il GROUP BY non funziona.
Non sapevo fosse così delicata la sintassi SQL su FILEMAKER !
FM PRO ADVANCED 17 + FMS 17
- 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
Non vedendo il file, devo fidarmi di te. Veramente, il nome della tabella (SOCIETA) e i nomi dei campi sono TUTTI IN MAIUSCOLO ?EseguiSQL
("
SELECT SOCIETA,
COUNT(TOT_DIP_ATT)
FROM INPUT_DIPENDENTI
WHERE DATA_CESS IS NULL AND DATA_SOSP IS NULL
GROUP BY SOCIETA"
;"";"";"")
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
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- 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
Ciao Fabio , si , DATA_CESS IS NULL and DATA_SOSP IS NULL
La tabella si chiama INPUT DIPENDENTI
La tabella si chiama INPUT DIPENDENTI
FM PRO ADVANCED 17 + FMS 17