Relazione tra tre tabelle

FileMaker è un database relazionale. Vediamo come...

Moderatore: Moderatori

Rispondi
rullante
Messaggi: 68
Iscritto il: martedì 7 dicembre 2004, 1:00
Versione FileMaker: 13Adv
Sistema operativo: Win 10

Relazione tra tre tabelle

Messaggio da rullante » venerdì 25 novembre 2005, 22:22

Sono in difficoltà su un passaggio forse semplice ma per mè un pò complicato...
uso FM8
tre tabelle: A, B, C
A= Cantieri
B= Ore
C= Operatori
relazione A con B operatore di confronto impostato sul =
campo di confronto id cant
relazione A con C op di conf =
campo di confronto A id cant C id operatore
ralazione
in formato cantieri ho un portale con relazione A=C campi data, operatore e ore dove devo inserire le ore questo giorno per giorno
e avere anche un resoconto con campo calcolato delle ore di ogni operatore presente, il totale per intenderci....
le ho "tentate tutte" vista la mia amatoriale conoscenza di FM ma non riesco ad ottene un granchè
comunque mi trovo in formato cantieri come posso ottenere una lista o un portale che mi riassuma il totale ore eseguite per ogni operatore, ho provato con un portale ho creato una ricorrenza a operatori 2
cosa devo fare
:lol: :lol: :roll: :cry: :wink:

aiutate un povero ragazzo!!!
ciao

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Messaggio da stregatto » sabato 26 novembre 2005, 0:24

se ho ben capito devi comunque lavorare sulla relazione B, semplicemente inserisci nel portale oltre alle ore anche il lavoratore cui si riferiscono.
Non capisco bene a cosa serva la tabella ore. Eventualmente puoi prendere in considerazione la creazione di una altra tabella ore_operatori in cui inserire i varii orarii, correlata con operatori e cantieri...

.g.

rullante
Messaggi: 68
Iscritto il: martedì 7 dicembre 2004, 1:00
Versione FileMaker: 13Adv
Sistema operativo: Win 10

Messaggio da rullante » sabato 26 novembre 2005, 2:18

:o non mi aspettavo una cosi veloce risposta...ottimo
sono sincero non sono certo di essere sulla strada giusta ma ormai e troppo tempo che sono fermo qui ed ho quindi deciso di chiedere aiuto...
dal formato cantieri come hai già capito inserisco la data, l'operatore e le ore tramite portale con relazione alla tabella ore
mi crea un record id ore con incremento di serie proposto, bene fin qui tutto ok
adesso viene il bello appunto vorrei ottenere una lista o qualsiasi altra soluzione che mi permetta di sapere in tempo reale quante ore ha fatto cisacun operatore sempre rimanendo nello stesso formato cantieri...e un giro vizioso ma io proprio non so come dire a filemeker di fare la somma delle ore del'operatore tizio, caio e se c'è anche sempronio nel record in cui mi trovo non so spero veramente tu mi possa aiutare e sopratutto di essere stato almeno chiaro nel spiegare il mio obbiettivo

grazie ancora

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Messaggio da stregatto » sabato 26 novembre 2005, 13:55

ok. secondo me ti serve una ulteriore tabella Operatori_cantiere, correlata con cantieri tramite ID cantieri e con ORE tramite ID operatore E ID cantiere , nella quale inserirai dal formato cantiere (tramite portale) gli operatori relativi a quel cantiere. Dopodiché ti basterà un semplice campo calcolato (somma(ORE::ore)) che potrai visualizzare nel portale. Probabilmente avrai un poco di lentezza nell'aggiornamento, specialmente se sei in multiutenza, ma si parla comunque di secondi.

.g.

rullante
Messaggi: 68
Iscritto il: martedì 7 dicembre 2004, 1:00
Versione FileMaker: 13Adv
Sistema operativo: Win 10

Messaggio da rullante » sabato 26 novembre 2005, 19:50

Ciao stregatto...
ok questo già mi riesce quello che non mi va e...ti faccio un sempio senza mezzi tecnici
nel mio portale in relazione con ore tramite id cant inserisco la data dell'intervento l'operatore mediante lista a tendina e le ore
poi ho un campo somma ore somma(ore::ore)
fin qui tutto ok
siccome nel portale e possibile che es. Paolo abbia fatto un intervento il 5/11 di 2 ore poi il 6/11 di 3 ore poi il 7/11 di 4 ore e anche Luigi il 5/11 ha 2 ore ed anche il 7/11 ha 4 ore
ecco vorrei ottenere un menu/portale/campo multiplio, sinceramente non l'ho so!!! dicevo vorrei un qualcosa che mi dicesse che Paolo ha fatto 9 ore per quel cantiere e che Luigi sempre per lo stesso cantiere invece ne a fatte 6 di ore e così via per ogni operatore che si aggiunge al cantiere. io ho pensato ad una cosa tipo riassunto ma sul testo non si può fare...sono bloccato
...non sono sicuro ma il nome stregatto credo di averlo sentito anche da altre parti...mi sà che batte un cuore viola li sotto!?!?

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Messaggio da stregatto » sabato 26 novembre 2005, 20:57

è esattamente quello che ho detto nel post precedente.
per avere una soma totale delle ore per operatori devi avere una lista degli operatori per ciascun cantiere in un'altra tabella (Operatori_cantiere).

questa deve essere correlata con cantiere tramite ID e con ORE tramite ID cantiere E ID operatore.

O in alternativa sempre nella tabella ORE ti uoi divertire con un'autorelazione id cantiere E id operatore e impostare il campo somma su quest'ultima. però credo sia più complesso a livello di visualizzazione…
i sà che batte un cuore viola li sotto!?!?
se intendi al livello calcistico, sono agnostico. ;)

.g.

rullante
Messaggi: 68
Iscritto il: martedì 7 dicembre 2004, 1:00
Versione FileMaker: 13Adv
Sistema operativo: Win 10

Messaggio da rullante » martedì 29 novembre 2005, 23:08

Ciao Stregatto
:oops: :oops: :oops: non vorrei farti perdere la pazienza....ma porta pazienza ti prego!!
il mio portale da dove inserisco le ore degli operatori nel formato cantieri tabella A mi crea dei record nella tabella B ore con l'operatore e le ore fin qui tutto ok
adesso sempre nel formato cantieri della tabella A vorrei avere un'altro portale dove mi riassuma su un'unica rigaPortale il nome dell'operatore e le sue ore per quel cantiere
credo ci voglia un campo calcolato la formula dovrebbe essere: se l'operatore paolo e presente, anche piu di una volta riportamelo in un'unica riga del portale e con un'altro campo fare la somma delle ore di paolo ecc ecc

spero di essere stato più chiaro ma se così non fosse se non ti stresso troppo potrei inviartelo :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
grazie mille comunque

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Messaggio da stregatto » mercoledì 30 novembre 2005, 12:58

ok. è proprio quello che stodicendo.

se vuoi un ulteriore portale ti serve una tabella correlata, come ti avevo detto.
se ti serve una tabella ti servono relazioni,che sono quelle che ti ho specificato.

il modo più semplice per ottenere quello che vuoi è creare quest'altra tabella, correlarla e inserirci (manualmente o via script) i nomi degli operatori.
dopodichè se nella tabella mettiun campo calcolato come ti avevo suggerito haiin autoamticol'aggiornamento delle ore.

mi dispiace ma in questo momento sono sepolto dallavoro e non ho il tempo fisico di fare null'altro.

.g.

rullante
Messaggi: 68
Iscritto il: martedì 7 dicembre 2004, 1:00
Versione FileMaker: 13Adv
Sistema operativo: Win 10

Messaggio da rullante » mercoledì 30 novembre 2005, 13:39

ok ci ho provato :D
proverò ancora secondo i tuoi consigli, ma proprio non mi riesce ma comunque grazie davvero eventualmente mi rifarò vivo
ciao

Rispondi