query accodamento violazione di chiave

Anonimo
2014-11-19T09:09:14+00:00

Ciao a tutti,

problema con query accodamento.

prima funzionava... credo di aver cambiato inavvertitamente qualcosa in una delle tabelle però ho ricontrollato e non trovo nulla.

sql query è questo:

INSERT INTO allday ( somministrazione.[Value] )

SELECT DISTINCTROW specifsommtbl.IDorigine

FROM specifsommtbl, allday

WHERE ((([specifsommtbl]![giornimese])=[allday]![giornonumerico])) OR ((([specifsommtbl]![giornosettimane])=[allday]![giornosettimana])) OR ((([specifsommtbl]![giorno])=[allday]![giorno]));

 le condizioni where sono alternative

o c'è giorno numerico o c'è giornosettimana o c'è giorno

eseguendo delle prove utilizzando una volta il primo , una volta il secondo, la query funziona

se provo con il campo giorno mi dice impossibile accodare n 6 record per errore di violazione di chiave.

ora ho guardato le due tabelle e il campo giorno presenta le stesse caratteristiche cioè:

data in cifre

indicizzato Sì duplicati non ammessi

richiesto no

nessun controllo

nessuna conversione

standard

visualizza per date.

come posso fare?

grazie sempre

Sara

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

11 risposte

Ordina per: Più utili
  1. Anonimo
    2014-11-22T10:03:20+00:00

    ciao Sara,

    never give up! pensavo avessi gettato la spugna...

    Mah.... teoricamente non dovrebbe funzionare....mai...

    io resto dell'idea di non lavorare con i campi multivalore...

    buon we a te, ciao!

    Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-11-22T07:15:51+00:00

    Ciao Sandro,

    per ora sembra funzionare... non so nemmeno io perché!

    Ho utilizzato DISTINCT al posto di DISTINCTROW.

    Poi  ho spostato le condizioni tutte nella riga "oppure", fatto questo la query ha funzionato, ma l sql è lo stesso di prima....

    Prima nella griglia di struttura c'era una condizione nella riga Criteri e le altre due nella riga oppure.

    ho spostato tutte le condizioni nella riga oppure e ha ripreso a funzionare.

    Poi dato che eseguo la query da pulsante su maschera... non funzionava più... ho messo me.refresh perché ho capito che giustamente non trovava altrimenti il record nella tabella madre lato uno delle diverse relazioni .

    E rifunziona. spero duri!

    Grazie dell'aiuto e del tempo!!!!

    Buon weekend!

    Sara

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-11-19T17:19:38+00:00

    Ciao sandro,

    next time i'll do it ..well .... At least i'll try my best...

    non capisco... Allday non ha orfani... Appena elimino ilrecord in specifica somministrazione viene eliminato a catena il valore nel campo multivalore di allday. 

    Inoltre la cosa strana é che se il criterio fosse nel campo giornosettimana, per via della relazione, non dovrebbe accodare nessun record in allday, invece lo fa.... 

    Io ho un vago ricordo che a un certo punto avevo impostato su numerico il campo giorno sia di allday che di specsommtbl.... Domani provo e ti dico..

    grazie sempre

    sara

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-11-19T16:08:37+00:00

    ciao Sara,

    hai impostato una relazione uno a molti tra :allday e specifica giorni somministrazione.

    poi vuoi accodare a all day alcuni records sulla base del criterio che hai applicato da specifsommtbl.

    in questo caso come mantieni la relazione con integrità referenziale tra allday e specifica giorni somministrazione? ci sono records figli orfani in all day, giusto?

    se elimini la relazione l'accodamento va a buone fine ma se devi mantenere la relazione devi accodare prima sulla tabella lato 1 e poi lato molti.

    prova a vedere se la relazione è correttemente impostata se no eliminale procedi con gli accodamenti che ti servono.

    ciao, Sandro.

    ps. next time puoi compattare il DB prima di duplicarlo...? i records all'interno delle tabelle si frammentano e le dimensioni diventano abnormi e ci si mette un po'....il db è da 18mb dopo la compattazione solo 2,5mb. (just a friendly reminder....)

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2014-11-19T14:33:01+00:00

    Ciao Sandro

    grazie

    allego il file

    non penso sia per il campo multivalore perchè forse quando uso gli atri due criteri non dovrebbe funzionare lo stesso.. è proprio il campo giorno sulle due tabelle che non funziona.

    poi prima funzionava ... ho fatto delle variazioni su relazioni e sui formati campo ... e da lì non ha più funzionato

    ecco il link 

    http://1drv.ms/1xCR3iN

    grazie!

    sara

    La risposta è stata utile?

    0 commenti Nessun commento