Passaggio dati tra files correlati

FileMaker è un database relazionale. Vediamo come...

Moderatore: Moderatori

Rispondi
mayday
Messaggi: 125
Iscritto il: mercoledì 10 maggio 2006, 2:00

Passaggio dati tra files correlati

Messaggio da mayday » venerdì 15 dicembre 2006, 12:50

Salve forum's people! :)
Se sto per proporre un problema già evidenziato potete sparare sul pianista...
Allora, ho un file dove ricevo l'ordine per un prodotto finito, da qui voglio creare l'ordine per il magazzino (altro file) per i pezzi che mi servono.
Ho fatto lo script per la creazione del nuovo record nel file magazzino e vorrei portare in automatico i dati relativi al cognome e nome del cliente (che sono in una tabella), modello scelto dal cliente e numero di ordine di lavorazione (che sono su un'altra tabella) [in sintesi: sto nel FILE "A" tab. 1 e 2...nuovo record nel FILE "B" tab. 3 con dati di tab. 1 e 2 del FILE "A"].
Le tabelle sono correlate...ma non funziona.
Ho provato: 1) solo con la semplice relazione (cosa che mi funziona perfettamente in un altro step, ma all'interno dello stesso file [es. nuovo preventivo: in automatico mi mette i dati del cliente che sto trattando e dell'articolo scelto]...
2) all'interno dello script nel FILE "B", istruzione "Definisci campo", come target "cognome" del FILE "B", come risultato calcolato "cognome" del FILE "A"...
3) disperata, ho creato una tabella identica nel FILE "A" dove creo il nuovo record mettendo nella relazione tra tabelle "crea record se viene creato nell'altra tab)...
....non so cosa altro ho provato...ma in sintesi....:CHE DEVO FA'?!?!?
O meglio....dove sbaglio?
Nel caso in cui qualcuno mi volesse dire...metti tutto in un unico file, vi anticipo che ho bisogno di vedere nel file "magazzino" gli ordini provenienti da 4 files diversi.
Come direbbe De Sica...aiiiiiutateme! :?
Grazie!
Manu

book
Messaggi: 703
Iscritto il: lunedì 5 gennaio 2004, 1:00

Messaggio da book » venerdì 15 dicembre 2006, 14:52

allora...
prima cosa: nel grafico delle relazioni dei due file ci sono tutte le TO necessarie visibili? - cosa scontata quando si sviluppa su un solo file...e "non scontata" quando si sviluppa su + file.
seconda cosa: affinchè le relazioni funzionino, oltre a relazionare le tabelle nel grafico delle relazioni, devi fare in modo che i dati dei campi relazionati "corrispondano". Quindi ad ID come sei messa? ci sono ID corrispondenti?
...oltre non so cosa dirti. :roll:

saluti
Riccardo
FM 10Adv, winzooz...

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » venerdì 15 dicembre 2006, 15:54

book ha scritto: ...oltre non so cosa dirti.
Ciao Manuela

io sì... :wink:

E' un pò che manchi e mi ricordo che usavi la versione 8, ma da qualche tempo chiediamo a tutti di inserire versione e sistema operativo nella FIRMA ( da Tuo Account )
Raybaudi FMP 12 Adv. Windows XP SP3

mayday
Messaggi: 125
Iscritto il: mercoledì 10 maggio 2006, 2:00

Messaggio da mayday » venerdì 15 dicembre 2006, 18:16

Fatto Ray! :wink:
Ho relazionato anche i campi (ID)...
Quello che non capisco è perché all'interno dello stesso file funiona e tra 2 file no.

mayday
Messaggi: 125
Iscritto il: mercoledì 10 maggio 2006, 2:00

Messaggio da mayday » venerdì 15 dicembre 2006, 18:19

OPS :roll: !!! Ora...fatto Ray!
Manu

mayday
Messaggi: 125
Iscritto il: mercoledì 10 maggio 2006, 2:00

Messaggio da mayday » venerdì 15 dicembre 2006, 18:23

Miiiiiiiiiiiiiiiiiii!!! Qual'è l'emoticons per chi è de' coccio come me?!? :?
Voilà la firma!
FM 8.0 - XP Pack 2

Thomas
Messaggi: 162
Iscritto il: sabato 18 marzo 2006, 1:00
Versione FileMaker: 16
Sistema operativo: Mac OS X 12 Sierra

Re: Passaggio dati tra files correlati

Messaggio da Thomas » sabato 16 dicembre 2006, 8:52

mayday ha scritto:[in sintesi: sto nel FILE "A" tab. 1 e 2...nuovo record nel FILE "B" tab. 3 con dati di tab. 1 e 2 del FILE "A"].
Le tabelle sono correlate...ma non funziona.
Mi permetto di inserirmi nella discussione e, visto che lavoro correntemente con più file, provo a dare qualche dritta, anche se non ho visto bene dove sta il tuo problema:

1) Quando fai nuovo record, all'inizio tutti i campi sono vuoti; la relazione funziona solo al momento in cui nel campo ID (presumo che le relazioni siano definite correttamente - vedi risposta di book) viene immesso il valore che fa scattare la relazione. Questo scatto avviene quando il record viene salvato (manualmente con <enter> oppure con l'istruzione script "salva record/richieste").

2) Se ho ben capito fai nuovo record nel file "B" tab. 3 e lì vuoi immettere i dati di tab. 1 e 2 del file "A": ebbene al momento che fai nuovo record (è indifferente che tu sia nel file "B" tab. 3 oppure nel file "A" in cui è definita la tab. 3 come riferimento esterno al file "B": in entrambi i casi devono però essere definite correttamente le relazioni fra le tre tabelle) non c'è nessuna relazione che tenga perché tutti i campi sono vuoti. Allora bisogna fare in modo che il campo ID riceva il valore che faccia scattare la relazione. Questo può avvenire in due modi:
2a) Manualmente: scelta del valore con una lista valori
2b) Automaticamente con uno script: se il valore ID del nuovo record è già noto in partenza, perché uguale al precedente o con qualche altra regola, allora potresti procedere schematicamente così:

Codice: Seleziona tutto

...
Imposta variabile [$ID;"Valore o espressione che fa al caso tuo"]
Vai al formato ["Tabella 3"]
Nuovo record/richiesta
Definisci il campo [Tabella3::ID;$ID]
Salva record/richiesta
....
Spero che queste indicazioni ti permettano di fare un passo avanti :roll:
Un piccolo consiglio: se vai nel complicato per cercare la soluzione (vedi prove 2) e 3) del tuo post) sei sicuramente sulla strada sbagliata. Di solito la soluzione è quella più semplice e lineare... :wink:
Buona giornata.
Thomas
FM 11.0v2 adv - MacOS X 10.6.4

mayday
Messaggi: 125
Iscritto il: mercoledì 10 maggio 2006, 2:00

Messaggio da mayday » sabato 16 dicembre 2006, 12:22

Grazie per l'aiuto...tra i vari tentativi avevo provato anche la variabile ma senza risultati (probabilmente perché passando allo script "nuovo" nel FILE B si perde il riferimento).
Per ora (visto che ho il cliente con il fiato sul collo che non mi paga per fare tentativi :? ) ho optato per una "toppa": creo il nuovo record nel file A e poi lo importo nel FILE B...così và, non è una soluzione "professionale", ma mi permette di ragionare senza fretta per togliere la toppa e cucire meglio!
:)
Manu
FM 8.0 - XP Pack 2

Thomas
Messaggi: 162
Iscritto il: sabato 18 marzo 2006, 1:00
Versione FileMaker: 16
Sistema operativo: Mac OS X 12 Sierra

Messaggio da Thomas » martedì 19 dicembre 2006, 12:26

mayday ha scritto:avevo provato anche la variabile ma senza risultati (probabilmente perché passando allo script "nuovo" nel FILE B si perde il riferimento)
Infatti il contenuto delle $variabili con un "$" rimane solo all'interno dello script, mentre il contenuto delle $$variabili, quindi con due "$$" rimane disponibile all'interno del medesimo file. Se cambi file, le variabili non sono più definite e quindi ottieni un contenuto vuoto se fai un riferimento ad esse.

Non è necessario (anzi, come hai sperimentato, è controproducente) cambiare file per fare "nuovo". Ti suggerisco di definire la tab. 3 all'interno del file "A" come riferimento esterno al file "B". Dovresti pure fare un piccolo formato con la tab. 3 nel file "A". In questo caso puoi fare "nuovo" per la tab. 3 nel file "A" e quindi le variabili che hai definito rimarranno disponibili (a seconda che abbiano uno o due "$" come prefisso).

Spero che così tu possa facilmente ovviare alla toppa e cucire meglio il tutto... :lol:
Buona giornata
Thomas
FM 11.0v2 adv - MacOS X 10.6.4

Rispondi