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.
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
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 di inserire in
TabellaRigheQuestionario.IDQuestionario il valore di
TabellaQuestionario.IDQuestionario?
...sto dicendo stronz...???
"Sergio MAZZA" <sergi...@tiscali.it> ha scritto nel messaggio
news:fjomst$c7q$1...@tdi.cu.mi.it...
> "Metz" <metz...@libero.it> ha scritto nel messaggio
> news:8Ju7j.196024$U01.1...@twister1.libero.it...
>> 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.
>
>
> 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
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...???
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
Si scusami ho fatto copia anzichè taglia.
> 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?
Ho sbagliato a scrivere: Tabella Risposte: IDRisposta (contatore/chiave),
TabellaDomande.IDRisposta è numerico
> 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.
..e così ho fatto.
> 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
Grazie dell'aiuto. Ciao Metz