Newsgroup: it.comp.appl.access
Titolo: Riposto il probleam x Query di eliminazione particolare....

allora io ho usato la stringa sottostante.....
per cancellare tutti i codici Esenzione eccetto il codice 013.250...
ma non funziona....
-------------------------------------------
 DELETE [Anagrafe].*
FROM Esenzioni INNER JOIN Anagrafe ON [Esenzioni].[ID_assistito] =
[Anagrafe].[ID_assistito]
WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');
---------------
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 con in tabella Esenzioni
codice 013.250 e codice 048 riferiti 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 !!??
Giuseppe...

 quindi deve eliminare solo 048...
Non torna!
Se tu vuoi eliminare solo il record 048, dovrai eliminarlo dalla tabella
esenzioni, lato molti, tu invece stai facendo una query di eliminazione da
anagrafe.
E a questo punto non devi neanche mettere il join tra le tabelle. Sarà
semplicemente:
"DELETE Esenzioni.* FROM Esenzioni
WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');"
Antonio

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:k1Au8.38486$m41.1...@twister2.libero.it...

scusa se non ho proseguito il 3d, ma avevo da fare.
Riflettendo sul tuo problema, mi sono sorti alcuni dubbi sulla struttura
delle tabelle sulle quali stai operando.
Puoi descrivere le strutture delle sue tabelle, indicando le chiavi primarie
e le chiavi esterne?
ciao.
--
e` inutile versare ruhm...
nu strunz nun addiventa babba'

 e le chiavi esterne?
---------------
beh... non ti preoccupare Ramblers...lo avevo intuito...
intanto ripostando il messaggio ho ricevuto da Antonio Biso
una soluzione che si presenta semplice ed efficace... ma incompleta...
nel senso che dalla query creata sulle 2 tabelle effettivamente cancella
tutti i codici eccetto lo 013.250... ed i risultati corretti li vedo nella
query
ed in tabella Esenzioni... però in tabella Anagrafe... non ha cancellato
nulla...!!
intanto posto il codice Sql di Antonio...
-------------------
DELETE Esenzioni.* FROM Esenzioni
WHERE ([Esenzioni].[Codice_Esenzione]<>'013.250');
----------------------------
quindi ricapitolando tabella ANAGRAFE e tabella ESENZIONI
rispettivamente 1 > MOLTI con elimina campi correlati a catena, integrità
etc..
tabella Anagrafe > Chiave primaria > Contatore
tabella Esenzioni > Numerico...
in effetti nel db di prova che uso.. ora leggo differenti ID tra Anagrafe
(8897)
ed Esenzioni..(2161)
ora ci vorrebbe una specie di confronto tra gli ID di Esenzione e gli ID di
Anagrafe..
x aggiustare le cose... oppure ???
giuseppe

 nulla...!!
Ma scusa eh.
In anagrafe c'è UN solo record, supponiamo con ID 100
in esenzioni ci sono molti record con ID 100 e valore codice diversi
tra questi valori c'è 013.250
Pertanto
100 013.250
100 000.999
Tu vuoi cancellare solo il record con codice 013.250, quindi devi farlo sono
in esenzione, non in anagrafe, altrimenti perdi, per l'integrità
referenziale, anche il record
100 000.999
Antonio

 Antonio
---------------------->
scusa Antonio... forse mi sono spiegato male...io ho questo DB e devo
cancellare
tutti i codici  ECCETTO lo 013.250....
e questo grazie a te l'ho fatto....!!!
ma il risultato che devo ottenere è avere un DB solo con quel codice e con
l'utente
a cui appartiene.... mi spiego con un esempio...
ora in tabella Esenzioni ho 2161 codici 013.250...
gli stessi devono corrispondere in tabella Anagrafe... invece non ne ha
cancellato
nessuno e ne ho 8883....spero di essermi spiegato....nella mia ignoranza con
Access
penso che se si facesse un confronto tra ID_assistito di Anafrafe
ed Id_assistito di Esenzioni... tutti gli ID differenti li dovrebbe
cancellare...
che dici ???
Giuseppe

--
e` inutile versare ruhm...
nu strunz nun addiventa babba'
"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:ZAdv8.50334$m41.1...@twister2.libero.it...

Puoi provare con un criterio di esclusione
DELETE Anagrafe WHERE IDAssistito Not in (SELECT IDAssistito FROM Esenzioni
WHERE Codice = '013.250')
ciao.

 ha scritto nel messaggio
news:a9jp7l$3njp3$1...@ID-57322.news.dfncis.de...

CORREGGO:
DELETE FROM Anagrafe WHERE IDAssistito Not in (SELECT IDAssistito FROM
Esenzioni
               ^____^
 WHERE Codice = '013.250')
ciao.


 ciao.
--------------------
Ok... funziona Ramblers... chiaramente senza  ^____^   !!!
Ciao e grazie...
--
SuperPippo®   [;o))