Newsgroup: it.comp.appl.access
Titolo: Aiuto x Query di eliminazione...

Salve.....espongo brevemente il mio problema...
ho una tabella Anagrafe... una tabella Esenzioni
rispettivamente 1 > molti con chiave primaria Id-assistito...
nella tabella Esenzioni devo cancellare tutti i codici
dal campo Codice_Esenzione che non siano 013.250-
ho provato questa query di eliminazione
DELETE [Anagrafe].*, [Esenzioni].[Codice_Esenzione] FROM Esenzioni INNER
JOIN Anagrafe ON [Esenzioni].[ID_assistito] = [Anagrafe].[ID_assistito]
WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');
ma mi dice... impossibile eliminare dalle tabelle specificate....
ho provato quest'altra...
DELETE Anagrafe.*, DCount("013.250","Esenzioni","ID_assistito=" &
[id_assistito] & "
AND 013.250='aaa'") AS Espr1
FROM Anagrafe
WHERE (((DCount("013.250","Esenzioni","ID_assistito=" & [id_assistito] & "
AND
013.250='aaa'"))>0));
ed addirittura mi esce una finestra di avviso in cui non viene specificato
alcun errore...
e non funge....
potete gentilmente  darmi una mano ???
Giuseppe


 ...e ha ragione.... non puoi eseguire una delete su due tabelle.
Puoi fare :
DELETE [Anagrafe].*  FROM Esenzioni INNER
 JOIN Anagrafe ON [Esenzioni].[ID_assistito] = [Anagrafe].[ID_assistito]
 WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');
ed elimini tutti i record dalla tabella anagrafica che abbiano codice
esenzione <> da '013.250'
e di conseguenza (se hai impostato l'integrità referenziale) anche i record
di Esenzioni con rispettivo IDAssistito
altrimenti
 DELETE  FROM Esenzioni WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');
ed elimini dalla tabella esenzioni tutti i record con codice <> '013.250'
.... tu cosa devi eliminare?
ciao.

 ha scritto nel messaggio
news:a946ee$5sdl$1...@ID-57322.news.dfncis.de...

------------------
Ciao grazie per la risposta... cmq... premetto che l'ho letta ora ed ancora
devo
provare le tue soluzioni....
devo cancellare dalla tabella Esenzioni... tutti i codici esistenti meno lo
013.250 !!
Ciao...

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:gLkt8.19344$m41.4...@twister2.libero.it...

------------------------
Ciaop Ramblers... provato ora e mi dice sempre... :
"Impossibile eliminare dalle tabelle specificate "
come si spiega ???
Ciao...

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:RmAt8.21596$SR5.5...@twister1.libero.it...

se devi eliminare dalla tabella Esenzioni tutti i record con codice <>
013.250,
allora la stringa é :
DELETE  FROM Esenzioni WHERE Codice_Esenzione <> '013.250';
che si può anche scrivere:
DELETE  * FROM Esenzioni WHERE Codice_Esenzione <> '013.250';
... non capisco dove possa essere l'errore...
ma tu quale stringa hai usato ?
ciao.

 ciao.
--------------------->
allora io ho usato la stringa sottostante.....
 DELETE [Anagrafe].*
FROM Esenzioni INNER JOIN Anagrafe ON [Esenzioni].[ID_assistito] =
[Anagrafe].[ID_assistito]
WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');
---------------
sappi che non devo eliminare solo il codice 013.250... ma tutti i
riferimenti ad esso collegato
in tabella Anagrafe......beh sembrava semplice...!!!
ricapitolando tabella Anagrafe... in relazione con tabella Esenzioni...
1 > molti applicati tutti i parametri tipo elimina campi correlati a catena,
etc tec..
io posso avere Pippo in tabella Anagrafe ed in tabella Esenzioni
codice 013.250 e codice 048 ruferiti a Pippo....
quindi deve eliminare solo 048...
come posso avere anche Pluto che ha solo codice 060 e va eliminato
completamente...
forse penso non si possa fare dato che si dovrebbero eliminare dati dal lato
molti !!??
che dici ???
Giuseppe...