Newsgroup: it.comp.appl.access
Titolo: biblioteca aiuto

Salve sono nuovo, scusate sse la domanda e' un po' banale, sto creando un
archivio per una piccola biblioteca, ed ho due tebelle LIBBRI e AUTORE la
tabella LIBBRI contiene il campo IDautore (contatore di AUTORE).
Posso nella mascera di inserimento libbri visionare con un menu a tendina
gli autori presenti nella tabella AUTORE e fare in modo che poi sia
memorizato automaticamente il suo ID nella tabella LIBBRI?
Potrei anche fare l'inverso, cioe' visionando la tabella LIBBRI nella
maschera mi appaia il nome dell'autore?
Grazie a tutti.

 Puoi creare una relazione tra le due tabelle,
 il campo IDautore lo puoi trasformare in casella combinata e su
questa sulla voce origine riga ... richiami la tabella autore e
selezioni i campi id_autore e autore, sempre sulla casella combinata devi
impostare
numero colonne 2, colonna associata 1, larghezza colonne 0cm;5cm;
(questi valori dovrebbero andar bene se hai la tabella autore con i campi
id_autore, autore)
Ciao ciao rix

 ha scritto nel messaggio
news:FGB68.2624$nI1....@twister1.libero.it...

e se hai un libro scritto da due autori?
a mio avvisio devi creare un terza tabella che registri tutti i possibili
autori per libro
tabl Libri        tblAutoriLibro          tblAutori
IDLibro         IDLibro                    IDAutore
Titolo            IDAutore                  Nome
.....                .....                            ......
ciao.

 ha scritto nel messaggio
news:FGB68.2624$nI1....@twister1.libero.it...

E no, nella struttura del tuo database c'è qualcosa che non va.
Realizzando ciò che hai descritto, tu metti le tabelle LIBRI e AUTORE in
relazione uno-a-molti in base ai campi IDautore presenti in ambedue le
tabelle: nella prima come chiave esterna e nella seconda come chiave
primaria. Questo ti realizza il fatto che un autore può scrivere più libri.
Però è anche vero che un libro può essere scritto da più di un autore, da
cui si evince che le due tabelle debbono essere tra di loro in relazione
molti-a-molti e non uno-a-molti come hai pensato di fare tu.
In Access una relazione molti-a-molti si realizza tramite una terza tabella
(ad esempio chiamata LibriAutore) che dovrà risultare in relazione
uno-a-molti sia con la tabella LIBRI che con la tabella AUTORE.
Se la tabella LIBRI ha una struttura simile:
IDlibro        Contatore e chiave primaria
Titolo          Testo
ecc. ecc.
Se la tabella AUTORE ha una struttura simile:
IDautore     Contatore e chiave primaria
Cognome    Testo
Nome         Testo
ecc. ecc.
La tabella LibriAutore potrebbe avere una struttura simile:
IDLibAut    Contatore e chiave primaria
IDlibro        Numerico
IDautore     Numerico
Nella struttura di quest'ultima tabella, per i campi IDlibro e IDautore
esegui l'Autocomposizione Ricerca...; così facendo risolverai, quando
creerai le maschere, il problema del menu a tendina di cui accenni nel tuo
messaggio.
La tabella LibriAutore la metterai in relazione uno-a-molti con la tabella
LIBRI tramite i campi IDlibro ed in relazione uno-a-molti con la tabella
AUTORE tramite i campi IDautore: avrai così creato tra le due tabelle la
relazione molti-a-molti che ti serviva.
Nella maschera con cui aggiungi i nuovi libri e che ha per origine record la
tabella LIBRI, inserisci una sottomaschera che abbia come origine record la
tabella LibriAutore, così per ogni libro potrai inserire i rispettivi
autori, usando un menu a tendina (alias casella combinata).
Nulla osta che nella maschera in cui inserisci i nuovi autori tu inserisca
una sottomaschera che abbia la tabella LibriAutore come origine record: così
facendo potrai visualizzare e/o inserire i libri scritti da un determinato
autore, sempre facendo uso di un menu a tendina (alias casella combinata).
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Il mio problema e' pero' rimasto ivariato, con una sottomaschera alla
tabella LIBRIAUTORI
visualizzo il numero contatore non il campo nome della tabella AUTORE.
Il mio scopo era quello di scorrere  con una casella combinata l'elenco dei
nomi e dei cognomi (se possibile altrimenti solo uno dei due) e far si che
senza visualizzare nessun contatore esso venisse inserito nel campo IDautore
automaticamente.
Ora dopo le modifiche automaticamente dovrebbe aggiornare i due campi a
cascata delle tabelle LIBRI ed LIBRIAUTORI.
Visivamente insomma dovrei solamente scegliere l'autore da una casella
combinata, mentre nella tabella LIBRI dovrebbe essere inserito solo il
rispettivo contatore.
Ciao e grazie.
PS Access non mi applica l'integrita' referenziale tra le tabelle LIBRI ed
LIBRIAUTORI mentre non oppone obiezioni tra LIBRIAUTORI ed AUTORI

 LIBRIAUTORI mentre non oppone obiezioni tra LIBRIAUTORI ed AUTORI
Probabilmente hai ancora settata la relazione uno-a-molti tra le tabelle
LIBRI ed AUTORE: se è così, eliminala.



No non eě' cosi', e non riesco a capire perche'.
LIBRI e' composta:
IDlibro                     Contatore
Titolo                        Testo
Argomento                Testo
IDautore                   Numerico
IDeditore                  Numerico
Indice                        Oggetto OLE
IDarchivio                  Numerico
Quantita'                    Numerico
Acquisizione              Sě/No
Data acqisizione         Data/ora
Note                          Memo
Copie in prestito         Numerico
Di sola consultazione  Sě/No
IDautore                    Numerico
Anno di stampa          Data/ora
Tipo libro                   Testo
AUTORE e' composta:
IDautore                    Contatore
Nome                        Testo
Cognome                   Testo
Indirizzo                     Testo
Data di nascita           Data/ora
Data di morte             Data/ora
Nazionalita'                 Testo
LIBRIAUTORI e' composta:
IDlibriautori               Contatore
IDlibro                      Numerico
IDautore                   Numerico
La stessa struttra di AUTORE la ha anche EDITORE e li' non mi da nessun
errore.
Modificare i dati in modo che esistano record primari per tutti i record
correlati.
non mi dice nulla.
In cosa sbaglio?
Lo stesso errore lo ho anche con il collegamentodella argomento-argomento
alla tabella
ARGONENTI:
Argomento    Testo  (chiave primaria)
Area             Testo
Che teoricamente non dovrebbe dare errore.
Grazie ancora.