Una tabella con le prenotazioni in un residence

FileMaker è un database relazionale. Vediamo come...

Moderatore: Moderatori

tore60
Messaggi: 22
Iscritto il: lunedì 22 settembre 2014, 6:44
Versione FileMaker: 19
Sistema operativo: Windows

Re: Una tabella con le prenotazioni in un residence

Messaggio da tore60 » lunedì 18 maggio 2015, 23:13

Egregio mik78,
Ho capito il metodo suggerito da PIG-NAH (il suo allegato è stato chiarissimo)
e mi piacerebbe capire anche come funziona il tuo.
Non ti chiedo di spiegarmelo perchè probabilmente sarebbe troppo lungo e complicato.
Vorrei proporti, se sei così gentile da accettare, di riportare la tua soluzione su un esempio concreto.

Nel file allegato ci sono due tabelle, la tabella delle prenotazioni e la tabella degli appartamenti:

Prenotazioni: (idPrenotazioni, NomeCliente, DataArrivo, DataPartenza, idAppartamento)
Appartamenti:(idAppartamento, NomeAppartamento)

Ho inserito un numero consistente di prenotazioni.
Il problema consiste nel visualizzare un calendario delle prenotazioni che:
1) nella prima riga riporti le date dal 1 maggio al 31 ottobre
2) nella prima colonna gli identificativi degli appartamenti (A1,A2 etc..)
3) nelle caselle interne il nominativi dei clienti
L'intersezione dell'iesima riga (appartamento i) con la jesima colonna (data j) dovrebbe riportare
il nome del cliente che occupa l'appartamento i in data j.

Grazie a te e a tutti coloro che hanno la voglia di unirsi alla discussione.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Avatar utente
mik78
Messaggi: 216
Iscritto il: mercoledì 5 giugno 2013, 9:34
Località: Avellino

Re: Una tabella con le prenotazioni in un residence

Messaggio da mik78 » mercoledì 20 maggio 2015, 19:03

Ciao,
tempo fa avevo postato un esempio qui:
http://www.filemakerguru.it/gurucorner/ ... Lw=&ajax=1

Se hai difficoltà, puoi scrivermi anche sull'altro forum ;)
Li bazzico un pò tutti ;)

Mik

Avatar utente
PIG-NAH
Messaggi: 2564
Iscritto il: martedì 7 agosto 2007, 2:00
Località: BIG BANG

Re: Una tabella con le prenotazioni in un residence

Messaggio da PIG-NAH » giovedì 21 maggio 2015, 9:34

Io come devi fare te l'ho detto e ti ho mandato pure un'esempio.
31 campi calcolati con risultato data e 31 portali di un rigo contenenti i relativi campi degli appartamenti.
Via script riempi i campi con le prenotazioni.
mik78 riporta un commento del mitico stregatto che parla di esegui sql per evitare di avere 31 ricorrenze
nel grafico delle relazioni ma dice anche altro che puoi leggerlo anche da te.
Tu fai il lavoro come ti dico io che se hai problemi con gli script te li faccio io in 5 minuti.
Ti manca anche la tabella anagrafica clienti che è essenziale.
Ajò !
FM8 ADV XP SP3

Avatar utente
PIG-NAH
Messaggi: 2564
Iscritto il: martedì 7 agosto 2007, 2:00
Località: BIG BANG

Re: Una tabella con le prenotazioni in un residence

Messaggio da PIG-NAH » sabato 23 maggio 2015, 18:04

Ecco fatto il becco al papero.
FM8 ADV XP SP3

Avatar utente
PIG-NAH
Messaggi: 2564
Iscritto il: martedì 7 agosto 2007, 2:00
Località: BIG BANG

Re: Una tabella con le prenotazioni in un residence

Messaggio da PIG-NAH » sabato 23 maggio 2015, 18:35

Lo script prenota va modificato all'inizio altrimenti se si lascia un campo vuoto succede un casino.
Niente di complicato:

If [ Conteggio ( kronos::idCam ) or EVuoto ( clienti::arrivo ) or EVuoto ( clienti::camera ) or EVuoto ( clienti::cognome ) or EVuoto ( clienti::partenza ) ]
Segnale acustico
Mostra finestra personalizz. [ Titolo: "OCCUPATO - ERRORE"; Messaggio: "LA CAMERA RISULTA OCCUPATA
OPPURE CI SONO DEI CAMPI VUOTI"; Pulsanti: “OK” ]
Esci dallo script [ ]
End If
Imposta variabile [ $dti; Valore:clienti::arrivo ]
Imposta variabile [ $dtu; Valore:clienti::partenza ]
Imposta variabile [ $idcl; Valore:clienti::id ]
Imposta variabile [ $idca; Valore:clienti::camera ]
Vai al formato [ “kronos” (kronos) ]
Loop
Nuovo record/richiesta
Definisci il campo [ kronos::data; $dti ]
Definisci il campo [ kronos::idCam; $idca ]
Definisci il campo [ kronos::idCln; $idcl ]
Exit Loop If [ $dti = $dtu ]
Imposta variabile [ $dti; Valore:$dti + 1 ]
End Loop
Vai al formato [ “clienti” (clienti) ]
Vai al record correlato [ Da tabella: “camere”; Con il formato: “camere” (camere) ]
[ Mostra solo i record correlati ]
Ordina i record [ Ordinamento specificato: camere::datax; ascendente ]
[ Ripristina; Senza finestra ]
Vai a Record/Richiesta/Pagina
[ Primo ]
Loop
Definisci il campo [ camere::idCli[$idca]; $idcl ]
Vai a Record/Richiesta/Pagina
[ Successivo; Esci dopo l'ultimo ]
End Loop
Vai al formato [ “clienti” (clienti) ]
FM8 ADV XP SP3

tore60
Messaggi: 22
Iscritto il: lunedì 22 settembre 2014, 6:44
Versione FileMaker: 19
Sistema operativo: Windows

Re: Una tabella con le prenotazioni in un residence

Messaggio da tore60 » venerdì 29 maggio 2015, 4:35

Egregio PIG,
gli impegni con il residence reale mi hanno tenuto lontano dal forum (che sono costretto a visitare in orari pazzi come questo).
Ho appena visto il tuo ultimo post e scaricato l'allegato, lo guarderò con attenzione, ma quello che ho già visto mi fa sentire un principiante piccolino.
Ti ringrazio tanto.
Buonanotte.

Avatar utente
PIG-NAH
Messaggi: 2564
Iscritto il: martedì 7 agosto 2007, 2:00
Località: BIG BANG

Re: Una tabella con le prenotazioni in un residence

Messaggio da PIG-NAH » venerdì 29 maggio 2015, 17:34

Esimio Tore, allora ti merita studiarti questo.
L'altro lo elimino.

Lo script nuPren va modificato come segue altrimenti il contatore si ferma a 10.

Mostra tutti i record
Ordina i record [ Ordinamento specificato: prenotazioni::id_rec; ascendente ]
[ Ripristina; Senza finestra ]
Vai a Record/Richiesta/Pagina
[ Ultimo ]
Imposta variabile [ $idc; Valore:RicavaComeNumero ( prenotazioni::id_rec + 1 ) ]
Nuovo record/richiesta
Definisci il campo [ prenotazioni::id_rec; Destra ( "00000" &$idc ; 6 ) ]
Vai al campo [ prenotazioni::idAna ]
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
FM8 ADV XP SP3

Rispondi