portali e relazioni tabelle clienti - ordini

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

Rispondi
VITTORIO FERRARA
Messaggi: 8
Iscritto il: venerdì 20 marzo 2020, 3:02
Versione FileMaker: PRO 18
Sistema operativo: WIN10
Località: Comunanza
Contatta:

portali e relazioni tabelle clienti - ordini

Messaggio da VITTORIO FERRARA » giovedì 2 aprile 2020, 18:18

Buonasera,
sono un nuovo utente sulla vostra community. Sono un impiegato di un'azienda produttori di etichette adesive, mi sono affacciato da poco all'utilizzo di FM (versione utilizzata 18 Pro Advanced) per la realizzazione di un DB per lagestione CLIENTI - ORDINI - COMMESSE DI LAVORO del reparto produzione.
Conoscenza base di FM, derivazione Access.
Ho generato le tabelle come sopra:
CLIENTI -- chiave primaria PK_IDCLIENTI tipo numero con numerazione progressiva Cxxxxx
ORDINI -- chiave primaria PK_IDORDINI tipo numero con numerazione progressiva 0000X chiave esterna IDCLIENTI
COMMESSE DI LAVORO -- chive primaria PK_IDCOMMESSA numero con numerazione progressiva CM0000X chiave esterna IDORDINI
relazioni: PK_IDCLIENTI con IDCLIENTI (ordini) rrelazione tipo 1 a n
PK_IDORDINI con IDORDINI (commesse) relazione tipo 1 a n
Ho creato un formato con la tabella CLIENTI e all'interno ho inserito un portale con la tabella ORDINI per aver sempre uno storico degli ordini per cliente. Ma la relazione di cui sopra non funziona. Funziona se metto in relazione il campo nominativo della tabella ordini (manue a discesa con lista valori da tabella clienti) con nominativo tabella clienti. Ma questa relazione va bene ok, ma ovviamente se cambio il nome o ho un duplicato avrei degli errori. Pertanto volevo capire come posso legare le chiavi.

Grazie anticipatamente per il vostro aiuto

Avatar utente
fabio.beri
Messaggi: 1958
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: portali e relazioni tabelle clienti - ordini

Messaggio da fabio.beri » giovedì 2 aprile 2020, 19:24

Buonasera. Ok

Due semplici domande:

1. A cosa dovrebbe servire la seguente relazione?
PK_IDCLIENTI con IDCLIENTI (ordini)

2. A cosa dovrebbe servire la seguente relazione?
PK_IDORDINI con IDORDINI (commesse)

E' sufficiente riuscire a rispondere a queste due domande per capire se le relazioni sono corrette oppure no... I formati servono solamente a dare una visualizzazione dei dati, ma le relazioni sono il punto fondamentale per raggiungere (quindi visualizzare) i records che desideriamo.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

VITTORIO FERRARA
Messaggi: 8
Iscritto il: venerdì 20 marzo 2020, 3:02
Versione FileMaker: PRO 18
Sistema operativo: WIN10
Località: Comunanza
Contatta:

Re: portali e relazioni tabelle clienti - ordini

Messaggio da VITTORIO FERRARA » giovedì 2 aprile 2020, 21:47

la relazione PK_idclienti e IDclienti per legare la tabella cleinti al portale ordini
la relazione PK_IDORDINI e IDORDINI mi serviva per collegare le due tabelle ordini e commessa (ma poi ho risolto non so se correttamente con pulsante e istruzioni script per impostare in automatico dei campi sul formato commessa)
$var_id_ordini....
imposta campo id_ordini
$var_data_ordine...
imposta campo data ordine... ecc.
Il punto che non riesco a capire come legare la tabella ORDINI alla tabella CLIENTI in modo univoco.
Allego immagini formati magari possono essere di aiuto
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Avatar utente
fabio.beri
Messaggi: 1958
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: portali e relazioni tabelle clienti - ordini

Messaggio da fabio.beri » venerdì 3 aprile 2020, 10:21

Il punto che non riesco a capire come legare la tabella ORDINI alla tabella CLIENTI in modo univoco.
Ordini e clienti, da quanto leggo, sono già relazionate tramite l'id del cliente.

Quale altro tipo di legame vuole dare tra le due tabelle e per quale motivo?
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

VITTORIO FERRARA
Messaggi: 8
Iscritto il: venerdì 20 marzo 2020, 3:02
Versione FileMaker: PRO 18
Sistema operativo: WIN10
Località: Comunanza
Contatta:

Re: portali e relazioni tabelle clienti - ordini

Messaggio da VITTORIO FERRARA » venerdì 3 aprile 2020, 11:33

nella foto in allegato ho dovuto legare i campi NOMINATIVO delle due tabelle per ottnere il risultato voluto.
Però così facendo se per ipotesi avessi un omonimo oppure il cliente cmabia intestazione avrei dei duplicati o degli errori!
Cercavo di capire come si potesse invece legare la chiave primaria della tabella CLIENTI in quanto univoca, INVECE DEL NOME
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Avatar utente
fabio.beri
Messaggi: 1958
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: portali e relazioni tabelle clienti - ordini

Messaggio da fabio.beri » venerdì 3 aprile 2020, 13:50

Dunque, faccio un piccolo esempio per spiegare che le uniche chiavi che si possono utilizzare nel strutturare un database, sono dei campi che hanno un valore UNIVOCO, quindi si usa creare un codice progressivo che non venga mai cambiato dall'utente, assegnato automaticamente dal software e soprattutto sia UNIVOCO all'interno del database. Normalmente questi campi sono il codice o ID se vogliamo chiamarlo in inglese.

Quindi ad ogni tabella, se vogliamo relazionarla ad altre tabelle, dobbiamo dare un codice (o ID)
Ai clienti diamo un ID
Agli ordini diamo un ID
Diamo sempre un ID.

Cosa succede se faccio un ordine? Succede che l'operatore, nel dirmi chi è il cliente, dovrà valorizzare l'ID del cliente e non il nominativo, pertanto le relazioni che si basano sul confronto TABELLA_ORDINI::nominativo con TABELLA_CLIENTI::nominativo, NON SONO SICURE. Le relazioni si fanno solamente per dati UNIVOCI.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19

Omnia Studio

-----------------------------------------
http://tinyurl.com/omniagest2024

VITTORIO FERRARA
Messaggi: 8
Iscritto il: venerdì 20 marzo 2020, 3:02
Versione FileMaker: PRO 18
Sistema operativo: WIN10
Località: Comunanza
Contatta:

Re: portali e relazioni tabelle clienti - ordini

Messaggio da VITTORIO FERRARA » venerdì 3 aprile 2020, 18:02

Certo, questo mi è chiaro, il mio problema è che l'ordine lo vado a generare dalla tabella ordini, pertanto risulterebbe più semplice andare a selezionare il nome del cliente piuttosto che la chiave primaria.
In pratica mantenendo la relazione,alquanto giustissima con la chiave primaria tabella clienti (PK_IDCLIENTI) e chiave esterna tabella ordini (ID_CLIENTI)
devo poter selezionare il nome del cliente come riferimento.
:roll:
.
Magari sbaglio io a impostare il modo

VITTORIO FERRARA
Messaggi: 8
Iscritto il: venerdì 20 marzo 2020, 3:02
Versione FileMaker: PRO 18
Sistema operativo: WIN10
Località: Comunanza
Contatta:

Re: portali e relazioni tabelle clienti - ordini

Messaggio da VITTORIO FERRARA » sabato 4 aprile 2020, 1:03

Salve Fabio,
ho riscontrato che il problema sta su come vado ad impostare i passaggi. Se faccio il contrario funziona!
In pratica mantenendo le relazioni chiave primaria tabella clienti e chiave esterna tabella ordini
ho creato un pulsante "Nuovo" con seguente script:

$var_pk_idclienti (valore PK_IDCLIENTI chiave primaria tabella clienti)
vai la formato ORDINI
nuovo record
imposta campo ordini:idclienti $var_pk_idclienti

ed ottengo tutto correttamente, in quanto così mi valida la relazione e l'univocità dei campi se ho ben capito
Pertanto non posso creare nuovo ordine dalla tabella ordini ma dalla tabella clienti.
L'unico neo che così facendo devo per forza di cose fare il passaggio dalla tabella clienti per andare ad inserire gli ordini.
Scusami ma Non so se sono stato chiaro... talvolta è difficile scrivere quel che si pensa :!:

Rispondi