Creazione record per data e per anno

Creazione record per data e per anno

Categoria:
0
0

Ciao a tutti ho un quesito da porvi 😀

E’ possibile creare in automatico (sicuramente tramite script) dei record che abbiano come riferimento ognuno un giorno dell’anno?

Cerco di spiegarmi meglio. Ipotizziamo che oggi, cliccando sul pulsante che abilita lo script creato ad hoc, si creano tanti record per quanti sono i giorni dell’anno e ogni record dovrà avere il campo “giorno dell’anno” impostato con ognuno dei giorni dell’anno in questione.

Domani (o quando lo farò un’altra volta) se cliccherò nuovamente lo stesso pulsante non dovrà più crearmi i record di quest’anno ma quelli dell’anno successivo

Spero di essere riuscito a spiegarmi al meglio e spero soprattutto che si possa fare una cosa simile 😀

Saluti

MaX

Segnalato come spam
Pubblicato da (Domande: 46, Risposte: 151)
Domandato il 14 Marzo 2016 08:49
107 visualizzazioni
0
Domanda privata

Buongiorno, Max.

puoi tranquillamente creare i record mediante script con loop. dopodichè puoi scegliere il modo di inserimento, sia per range di date che per anno e con una semplice autorelazione o EseguiSQL puoi vedere se la singola data sia già stata inserita oppure la data massima inserita e partire da li.

.g.

Segnalata come spam
Pubblicato da (Domande: 0, Risposte: 1487)
Risposto il 14 Marzo 2016 11:29
0
Domanda privata

Grazie Giulio, temevo che la soluzione potesse essere qualcosa di simile ma sinceramente credo sia qualcosa al di fuori delle mie modestissime competenze

Non ho la più pallida idea di come andrebbe impostato il loop

quello che mi viene in mente è

loop

nuovo record/richiesta

imposta campo [mia tabella::giorno; QUI COSA CI METTO?]

end loop

Poi e qui mi scuso per l’ignoranza, come si effettua un controllo sulle date?

Grazie per la pazienza :D

Segnalata come spam
Pubblicato da (Domande: 46, Risposte: 151)
Risposto il 14 Marzo 2016 12:10
0
Domanda privata

più qualcosa del tipo:

imposta variabile($data; tuadatainiziale)
Loop
imposta variabile($data; $data+1)
Exit Loop if($data > tuadatafinale)
If[controllo mediante calcolo EseguiSQL]
nuovo record
imposta campo [mia tabella::giorno; $data]
end if
end loop

il controllo SQL dovrebbe controllare se esiste già un record con la data presente in $data, con un semplice EseguiSQL( ”SELECT id_riga FROM mia_tabella WHERE giorno=?”; ””;””;$data) dove id_riga è la chiave primaria della tabella e i campi sono quelli della tabella (essendo SQL è case-sensitive e non sono ammessi caratteri accentati o spazi nei nomi campi o tabelle).

.g.

Segnalata come spam
Pubblicato da (Domande: 0, Risposte: 1487)
Risposto il 14 Marzo 2016 12:19
0
Domanda privata

Spettacolo, grazie

L’ho riletto 100 volte (forse anche di più :D) ma credo di aver capito tutto. Mi ci butto a capofitto e nel caso vi aggiorno, grazie Giulio ;)

Segnalata come spam
Pubblicato da (Domande: 46, Risposte: 151)
Risposto il 14 Marzo 2016 13:10
0
Domanda privata

Solo un’osservazione, è corretto che hai impostato 2 volte la stessa variabile dandogli sempre il nome $data ?

Segnalata come spam
Pubblicato da (Domande: 46, Risposte: 151)
Risposto il 14 Marzo 2016 13:37
0
Domanda privata

Ho creato 2 campi data globali (data_inizio e data_fine)

ho impostato un trigger sulla convalida della data_fine

lo script è il seguente

imposta variabile [$data; valore : prenotazioni::data_inizio]

loop

imposta variabile[$data; $data+1]

exit loop if [$data  > prenotazioni::data_fine]

if [EseguiSQL( ”SELECT id_anagrafica FROM prenotazioni WHERE giorno=?”; ””;””;$data)

nuovo record/richiesta

imposta campo [prenotazioni::giorno; $data]

end if

end loop

purtroppo mi crea sempre un record con la stessa data dove sbaglio?

Segnalata come spam
Pubblicato da (Domande: 46, Risposte: 151)
Risposto il 14 Marzo 2016 13:56
0
Domanda privata

dopo svariati tentativi ho ottenuto la creazione dei record richiesti

apportando la modifica di seguito allo script

imposta variabile [$data; valore : prenotazioni::data_inizio]

loop

imposta variabile[$data; $data+1]

exit loop if [$data  > prenotazioni::data_fine]

if [EseguiSQL( ”SELECT id_anagrafica FROM prenotazioni WHERE giorno=$data”; ””;””;$data)

nuovo record/richiesta

imposta campo [prenotazioni::giorno; $data]

end if

end loop

però adesso l’unico e ultimo problema è che i record vengono creati a prescndere e quindi senza la verifica se già ne esiste uno con data uguale

P.S.: Giulio se c’è un modo per avere un tuo contatto dovrei chiederti/darti una cosa privatamente che credo ti farà piacere :D

Segnalata come spam
Pubblicato da (Domande: 46, Risposte: 151)
Risposto il 15 Marzo 2016 07:52
0
Domanda privata

ci credo:

EseguiSQL( ”SELECT id_anagrafica FROM prenotazioni WHERE giorno=$data”; ””;””;$data) non può funzionare.

La formula giusta è: EseguiSQL( ”SELECT id_anagrafica FROM prenotazioni WHERE giorno=?”; ””;””;$data).

per qualunque informazione puoi scrivere a info @ filemakerguru.it.

a presto.

.g.

Segnalata come spam
Pubblicato da (Domande: 0, Risposte: 1487)
Risposto il 15 Marzo 2016 09:21
0
Domanda privata

Ho effettuato la modifica ed ho pure messo qualche aggiunta ora tutto funziona :D

Segnalata come spam
Pubblicato da (Domande: 46, Risposte: 151)
Risposto il 15 Marzo 2016 14:45