gestione relazioni differenze con Access, problemi di "adattamento" a FM

FileMaker è un database relazionale. Vediamo come...

Moderatore: Moderatori

Rispondi
sutukun
Messaggi: 2
Iscritto il: mercoledì 24 agosto 2016, 19:17

gestione relazioni differenze con Access, problemi di "adattamento" a FM

Messaggio da sutukun » giovedì 25 agosto 2016, 19:49

Buonasera,
da qualche mese ho iniziato ad utilizzare fm 12 pro advanced per sostituire access su un macbook.
L'utilizzo è finalizzato ad un unico file amatoriale che contiene un archivio dei miei circa 3000 lp e cd.
Il file è strutturato in maniera abbastanza complessa con la maschera principale "registrazioni" in cui è possibile inserire: Disco n° (contatore cronologico di registrazione), data di acquisto, anno di produzione (campo a tendina recuperato dalla collegata tabella), formato (LP, LPdoppio, CD, ecc. ecc.) (altra tabella collegata), casa discografica (altra tabella collegata), genere musicale (altra tabella collegata), nome disco, nome artista (altra tabella) e quindi due portali per elenco musicisti e per elenco brani. Allego screen shot.
Come si evince dall'allegato sono riuscito a trasferire il contenuto del file access in fm, a creare le relazioni (numerose) tra le tabelle e creare il corrispondente della maschera che avevo realizzato con access.
Purtroppo tutto questo "non funziona" se tento di inserire i dati di un nuovo disco acquistato.
Le tabelle anno di produzione, formato, genere, casa discografica, artisti, sono tutte tabelle con valori unici, quando tento di inserire un nuovo disco di un artista già presente nella relativa tabella mi esce un messaggio di errore che mi avverte che sto duplicando il valore, se forzo me lo duplica, se non forzo non inserisce nulla. Altro comportamento anomalo: in access ogni tabella con valori unici ha un campo ID e un campo col valore (nel caso dell'anno di produzione: IDAnno - 25 = AnnoProduzione 1995. In Access inserivo nella maschera "1995" ma nella tabella correlata "registrazione" access inseriva il valore "25". In FM scrivo 1995, me lo legge come valore duplicato e, se forzo, mi scrive nella tabella correlata ugualmente 1995.
La cosa singolare è che la tabella "registrazioni" che ho importato da access contiene nel campo "annoproduzione" il valore "25" e non "1995", ciò nonostante la maschera creata in FM mi propone correttamente "1995" per tutti i dischi già caricati, sui nuovi inserimenti il comportamento incomprensibilmente varia come prima indicato.
Insomma non riesco a farlo lavorare come dovrebbe lavorare un database: ridurre al minimo necessario i valori duplicati.
Altri problemi si verificano con eventuali cancellazioni, ma non vado oltre.
Sinora ho cercato di studiare la guida utente, ma temo che oltre 20 anni di utilizzo di access mi abbiano annebbiato la capacità di capire FM.
Sicuramente sbaglio qualcosa e temo di aver proposto un problema complesso.
Grazie per l'attenzione
Carlo
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

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

Re: gestione relazioni differenze con Access, problemi di "adattamento" a FM

Messaggio da PIG-NAH » venerdì 26 agosto 2016, 7:43

Secondo me tenti di inserire i dati nella tabella sbagliata.
Ovviamente la tabella CLIENTI deve contenere valori unici ma la tabella FATTURE deve poter contenere
lo stesso cliente millemila volte.
FM8 ADV XP SP3

sutukun
Messaggi: 2
Iscritto il: mercoledì 24 agosto 2016, 19:17

Re: gestione relazioni differenze con Access, problemi di "adattamento" a FM

Messaggio da sutukun » venerdì 26 agosto 2016, 21:36

Grazie per la risposta,

giusto per stare al mio caso: è evidente che gli anni di produzione (ad esempio) sono, diciamo, 60 record, ma in ciascun anno di produzione possono essere stati prodotti molti dischi da me acquistati.
In questo caso io ho impostato la tabella "anno di produzione" con valori unici, mentre la tabella "registrazioni" può contenere, ovviamente, più ripetizioni dello stesso anno di produzione riferito a più dischi.
Tuttavia quando provo a inserire un nuovo cd e voglio inserire anno di produzione 2015 nella tabella "registrazioni" (quella che, per intenderci, corrisponde a "fatture") mi esce un messaggio che mi indica che sto duplicando il valore, dico si e vado avanti ma, nonostante non abbia baffettato l'aggiornamento del campo della tabella "anno di produzione" mi ritrovo il valore 2015 duplicato anche nella tabella che dovrebbe avere valori unici, mi ritrovo con due anni 2015, mentre nella tabella "registrazioni" trovo scritto direttamente il valore digitato "2015" e non il corrispondente ID, così come accade in ACCESS.

Mi pare di capire che quest'ultimo comportamento, ovvero la riscrittura del valore inserito, sia dal tuo punto di vista un comportamento corretto.
Se capisco bene, nel tuo esempio, è corretto ritrovare nella tabella "fatture" la duplicazione del nome del "cliente".
Io ho sempre immaginato che il database "risparmia" i dati registrando nelle tabelle collegate i codici indice dei valori unici utilizzati dalle tabelle originarie e non l'intero valore del campo collegato.
Non so, temo di non utilizzare un linguaggio tecnicamente corretto e di non farmi capire, comunque grazie per i contributi, spero di averne altri.

Carlo

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

Re: gestione relazioni differenze con Access, problemi di "adattamento" a FM

Messaggio da PIG-NAH » domenica 28 agosto 2016, 9:23

Il campo ANNODIPRODUZIONE deve appartenere alla tabella REGISTRAZIONI.
Sembra che tu stia utilizzando il campo della tabella correlata dove ti crea il record duplicato mentre
il record va creato in REGISTRAZIONI.
Oppure hai settato erroneamente la creazione di records nella tabella errata tramite quella relazione.
Nel qual caso vai nel grafico delle relazioni e togli la spunta.
FM8 ADV XP SP3

Rispondi