neobios ha scritto:
Premessa:
Il tutto mi serve per definire in testata dei Documenti di Trasporto la selezione di un destinatario quando scelgo un cliente
Certo, l'avevo capito.
neobios ha scritto:
Domanda:
Se ho una tabella del genere:
IDAnagrafica chiave primaria
RagSociale
Indirizzo
Paese
Prov
Cap
PIva
Destinatario
come devo definirlo il campo Destinatario per metterci dentro non uno, che sarebbe una cavolata, ma "n" (ne ho uno con 21 destinatari diversi) riferimenti di altri IDAnagrafica?
Non devi definirlo affatto.
Tutto quello che devi definire è e deve essere esclusivamente nel documento, sia esso un DDT, Fattura, Ricevuta, ecc...
Evidentemente ti sfugge una cosa importante, nella gestione e compilazione dei documenti, ovvero tutti i dati devono essere archiviati,
non devono essere relazionati con le rispettive tabelle, queste ultime devono servire solo per attingere i dati da inserire nel documento, che diventa perciò un
documento storico.
Per intenderci, te lo indico chiaramente:
nella testata del documento
non devi memorizzare solo l'IDCliente (e pensare di acquisire gli altri dati dalla tabella Clienti) ma devi duplicare tutti i campi del cliente (RagSociale, Indirizzo, Paese, Prov, Cap, PIva) e di conseguenza farai la stessa per quanto riguarda la Destinazione (o per lo meno i campi che ti interessano).
neobios ha scritto:
Non volevo creare DUE tabelle con relazione molti a molti , una per Cliente e una per Destinatario perchè mi ritroverei con inserire nominativi uguali nelle due tabelle, essendo diversi Destinatari dei clienti diretti per altri ordini.
Infatti non servono a nulla.
A parte il fatto che fino ad ora non hai mai indicato le giuste informazioni. Fino ad ora tutti si pensava che avessi necessità di una tabella INDIRIZZI.
Ma, se come dici, gli indirizzi di destinazione della merce corrispondono sempre ad altrettanti clienti (che hai già in anagrafica) allora non ti serve alcuna tabella aggiuntiva. Hai già tutto quello che ti serve.
Devi semplicemente prevedere NEL DOCUMENTO i campi relativi alla destinazione, che potrai compilare indifferentemente in due modi diversi, a seconda delle necessità:
- con i dati di un cliente esistente
- con dati scritti manualmente