Newsgroup: it.comp.appl.access
Titolo: Query di accodamento

Ciao a tutti, ho un problema con una query di accodamento.
TabellaQuestionario: ID Questionario, Nome.
Tabella Risposte: IDRisposta
TabellaDomande: IDDomanda, IDRisposta.
TabellaRigheQuestionario: IDRiga, IDDomanda, IDRisposta
FormQuestionario con SubFormRigheQuestionario, in relazione tramite 
IDQuestionario
Una volta inserito il nome nella FormQuestionario vorrei, tramite un 
pulsante, accodare le 10 domande della tabellaDomande all'interno della 
subForm. Ho quindi perparato una query di accodamento: INSERT INTO 
tRigheQuestionario ( IDDomanda ) SELECT tDomande.IDDomanda FROM tDomande;
ma mi da un errore: Impossibile accodare i record.. Numeri di campi 
impostati a NULL per un errore di conversione tra tipi: 0; numero di record 
non aggiunti alla tabella a causa di violazioni di chiave:  10; a causa di 
violazioni di di condivisione: 0; ...ect.
Cosa significa "violazioni di chiave" e soprattutto come posso fare per 
accodare queste 10 domande?
Grazie, Metz.

 ha scritto nel messaggio 
news:8Ju7j.196024$U01.1...@twister1.libero.it...

Qualche IDxx č definito come univoco e/o contatore e quindi non puoi 
scrivere valori identici.
Descrivi meglio la struttura delle tabelle, la tipologia dei campi e le 
relazioni...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
TabellaQuestionario: ID Questionario (contatore/chiave), Nome(testo).
Tabella Risposte: IDRisposta (Testo/chiave)
TabellaDomande: IDDomanda (contatore/chiave), IDRisposta (numerico/intero 
lungo)
TabellaRigheQuestionario: IDRiga (contatore/chiave), IDDomanda 
(numerico/intero lungo), IDQuestionario(numerico/intero lungo)  (IDRisposta 
non c'è qui - scusa!)
TabellaQuestionario.IDQuestionario 1--OO 
TabellaRigheQuestionario.IDQuestionario
Tabella Risposte.IDRisposta 1--OO TabellaDomande.IDRisposta
TabellaDomande.IDDomanda 1--OO TabellaRigheQuestionario.IDDomanda
Penso di aver capito che il problema allora sta in 
TabellaRigheQuestionario.IDRiga o TabellaRigheQuestionario.IDQuestionario. 
Anzi credo in quest'ultimo visto che IDRiga è un contatore e si dovrebbe 
incrementare da se!
Forse nella query dovrei dirgli anche di inserire in 
TabellaRigheQuestionario.IDQuestionario il valore di 
TabellaQuestionario.IDQuestionario?
...sto dicendo stronz...??? 

 ...sto dicendo stronz...???
Scrivi un coda al testo del messaggio precedente, come faccio io grazie. 
Regola di questo NG (
www.sitocomune.com
 Sezione ICAA - Come comportarsi in 
questo NG).
Se non ti sei sbagliato a scrivere c'è un errore nei campi messi in 
relazione.
Tabella Risposte.IDRisposta è numerico mentre: TabellaDomande.IDRisposta è 
testo; come pretendi che vegano messi in relazione?
I campi contatore, dovrebbero essere indicizzati e con: "duplicati non 
ammessi"; mentre i campi che conterranno il valore come chiave esterna, 
dovrebbero essere intero lungo e se vuoi indicizzati ma con i duplicati 
ammessi.
Le query di accodamento non devono scrivere valori nei campi contatore...
Ciao.
-- 
Sergio MAZZA 

 Le query di accodamento non devono scrivere valori nei campi contatore...
Infatti la query di accodamento dovrebbe inserire una domanda in ogni righa 
così che non sia l'utente a dover scegliere l'IDDomanda ogni volta che passa 
alla riga successiva.
Spero di essermi meglio.
Grazie, Metz 

Ho trovato:
nella query devo dirgli di inserire in 
TabellaRigheQuestionario.IDQuestionario il valore di 
TabellaQuestionario.IDQuestionario.
Grazie dell'aiuto. Ciao Metz