Newsgroup: it.comp.appl.access
Titolo: maschera per inserimento record

Ho un problema in access.
ho tuo tabelle:
album(id,titolo,anno, nome)
artista(nome)
collegati da una relazione uno a molti.nella tabella artista cliccando
su il nome di un artista(duplicati non ammessi perchè chiave
primaria)mi fa vedere tutti gli album che appartengono a lui!!
ora:ho creato una mschera che mi consente di aggiungere nuovi record,ma
se provo ad aggiungere un album con lo stesso nome dell'artista,mi dice
che non son concessi duplicati!Come posso fare per risolvere??
Nella maschera ho dovuto per forza richiamare il campo artista.nome
perchè se metto il nome relativo alla tabella album,quando aggiungo un
artista non da nessun errore ma nella tabella artista non aggiunge il
nuovo nome(giustamente)
Grazie

 ha scritto nel messaggio 
news:1155376750....@h48g2000cwc.googlegroups.com...

album(id,titolo,anno, nome)
artista(nome)


[Risposta]
Sei sicuro di usare il "nome" dell'artista e non invece il suo id?
Hai costruito la tabella Artisti con il solo nome, chiave primaria?
Spero di no.
La sequenza di esposizione è sbagliata: prima si indica la tabella uno e poi 
la tabella molti.
Così nelle maschere (normalmente ma previste eccezioni): maschera principale 
tabella artisti, maschera secondaria o sottomaschera tabella album.
Se la maschera è solo quella album, prima di aggiungere un record devi 
necessariamente indicare l'artista prima di salvare il record stesso.
Prova così: aggiungi un record alla maschera e scrivi subito il nome o l'id 
dell'artista nel controllo appropriato, poi scrivi gli altri dati. Salva ed 
ora dovrebbe funzionare.
Accertati di aver utilizzato una query aggiornabile come origine della 
maschera.
Ciao, Carlo

 Ciao, Carlo
in effetti avevo sbagliato a creare la tabella artista.
Ora ho creato una maschera,come mi hai detto tu,solo per
l'album,seleziono l'icona per inserire un nuovo record,digito prima il
nome dell'artista poi gli altri campi.
Come risultato ho che mi salva tutto....quindi se metto gli artisti
doppi,come per esempio due album dello stesso artista,nella tabella
artista trovo due righe che contengono lo stesso nome(invece di una che
cliccando mi fa vedere i suoi attributi).Mi sfugge la query
aggiornabile:su cosa dovrei farla??
Usando la sottomaschera è più problematico l'inserimento?Volevo
un'interfaccia comoda.
In sostanza l'operazione che voglio fare è:digitare il nome
dell'artista:se è gia presente nella tabella artisti deve aggiungere i
campi della tabella album e associare al'id dell'artista quello che
c'è gia.Se è un nuovo artista mi deve inserire tutto.
Spero non sia troppo difficile

 ha scritto nel messaggio 
news:1155388418.4...@i3g2000cwc.googlegroups.com...


Lascia perdere la query non aggiornabile che adesso non ti crea problemi ma 
era solo una possibilità per il tuo errore.
Certamente, nella tabella album troverai tanti autori ripetuti per quanti 
sono gli album di quell'autore.
Così va bene. Nella tabella Autori, invece, non potranno esserci duplicati. 
Questo è anche giusto.
Un Autore molti album.
Con maschera e sottomaschera (magari utilizzando l'autocomposizione) hai la 
possibilità di aggiungere un nuovo album senza preoccuparti di inserire 
l'autore anche nella sottomaschera: fa tutto Access. Ti sarà sufficiente 
aggiungere un nuovo record nella sottomaschera ed è tutto.
Comincia da qui e poi, piano, piano, potrai fare qualcosa di più complesso.
Dai uno sguardo a 
www.sitocomune.com
 perchè potrai trovare moltissimo 
materiale sulle maschere e le sottomaschere.
Ciao, Carlo

ti ringrazio per l'aiuto che mi stai dando.
Il sitocomune lo conosco e infatti mi appoggio anche a quello.
Ho implementato come dicevi tu :maschera principale
artista,sottomaschera album.Effettivamente funziona ma un solo
problema:per inserire un nuovo album devo scorrere i record degli
artisti e trovato quello giusto posso creare un nuovo record nella
sottomaschera...un po macchinoso.Non c'è un modo per digitare
l'artista che voglio inserire e se trovato associare gia il suo id
nella  sottomaschera?in sostanza non voglio scorre re i record degli
artisti....e se l'artista non è presente??
Tra ieri e oggi ho trovato una possibile soluzione:
ho creato una maschera in cui inserire il nome dell'artista:se è gia
presente nel db in una casella elenco mi esce il suo nome e il suo id:a
questo punto cliccandoci sopra si apre una nuova maschera in cui
inserire i dati dellì'album e l'id artista trovato nella casella
precedente.
Nel caso in cui l'artista non è presente compare una scritta con un
pulsante aggiungi artista.Dopo aver aggiunto il nuovo artista,rifaccio
la ricerca che avrà esito positivo....trovo l'id e posso inserire
l'album....
Che dici?è troppo inventata come soluzione del problema o può andare?
Cmq volevo implememtare anche la tua soluzione se riesci a darmi
l'ultima mano!!
Grazie ancora

 ha scritto nel messaggio 
news:1155490346.7...@h48g2000cwc.googlegroups.com...



[risposta]
La soluzione che hai trovato potrebbe andare bene.
Un'altra soluzione è quella di mettere nella maschera principale una combo 
alimentata dalla stessa tabella degli artisti (usa l'autocomposizione). 
Vedrai che inserirà due campi: id e nome artista. Il campo ID sarà impostato 
a larghezza zero per cui vedi solo i nomi, magari ordinati crescente. Al 
clic la combo assumerà il valore dell'id associato all'artista. Sempre su 
clic puoi "scatenare" il seguente evento:
DoCmd.GoToControl "TuoControlloIDArtista"
DoCmd.FindRecord Me.TuoNomeCombo
Me.TuoNomeCombo= ""
A questo punto sia la maschera che la sottomaschera si posizionano 
sull'artista scelto e mostreranno gli album associati.
Qualora immetti (nella combo) un artista non presente in elenco puoi gestire 
il nuovo inserimento sull'evento "Su non in elenco". Sempre sul sito 
indicato trovi esempi di codice.
Ciao, Carlo

Quasi tutto risoloto:
Fatta la combo solo che ho dato il controllo sul nome:cosi ho due
caselle di controverifica che una volta selezionato il nome dall'elenco
mi fa vedere il nome e id dell'artista.
Due piccoli problemi:
quando inserisco un nuovo nome(ho fatto routine su non in elenco)
siccome non mi aggiorna la mschera non riesco inserire l'album
dell'artista nuovo(anche se nell'elenco viene aggiunto il neo
artista).Ho intuito che devo chiudere e aprire di nuovo la
maschera...ho creato la macro..funziona se la cosa la faccio a mano:a
cosa dici di associare la macro?
Una volta selezionato l'artista la sottomaschera fa vedere tutti i suoi
record che gli appartengono:come fare per posizionarla gia al record
nuovo?ho provato a  creare la macro...associarla alla sottomaschera ma
viene applicata a tutta la maschera(anche quella principale)...
Vedo la meta....grazie anche a TE!