Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Query di eliminazione

154 views
Skip to first unread message

net-level

unread,
Mar 2, 2010, 9:44:02 AM3/2/10
to
In una query di eliminazione composta da 2 tabelle, come faccio a specificare
qual'è la tabella dove devo eliminare i record ?
es. della query:
DELETE [Tabella Compagnie].[CA-ID], SelCompagnie.flag
FROM [Tabella Compagnie] INNER JOIN SelCompagnie ON [Tabella
Compagnie].[CA-DESC] = SelCompagnie.compagnia
WHERE (((SelCompagnie.flag)=True));

Karl Donaubauer

unread,
Mar 2, 2010, 11:01:26 AM3/2/10
to
net-level wrote:
> In una query di eliminazione composta da 2 tabelle, come faccio a
> specificare qual'� la tabella dove devo eliminare i record ?

> es. della query:
> DELETE [Tabella Compagnie].[CA-ID], SelCompagnie.flag
> FROM [Tabella Compagnie] INNER JOIN SelCompagnie ON [Tabella
> Compagnie].[CA-DESC] = SelCompagnie.compagnia
> WHERE (((SelCompagnie.flag)=True));

Beh, qual'� la tabella? :-)
Per l'esempio suppongo "Tabella Compagnie":

DELETE [Tabella Compagnie].*


FROM [Tabella Compagnie] INNER JOIN SelCompagnie
ON [Tabella Compagnie].[CA-DESC] = SelCompagnie.compagnia

WHERE SelCompagnie.flag=True;

--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it


net-level

unread,
Mar 2, 2010, 11:48:07 AM3/2/10
to

"Karl Donaubauer" ha scritto:

> net-level wrote:
> > In una query di eliminazione composta da 2 tabelle, come faccio a

> > specificare qual'è la tabella dove devo eliminare i record ?


> > es. della query:
> > DELETE [Tabella Compagnie].[CA-ID], SelCompagnie.flag
> > FROM [Tabella Compagnie] INNER JOIN SelCompagnie ON [Tabella
> > Compagnie].[CA-DESC] = SelCompagnie.compagnia
> > WHERE (((SelCompagnie.flag)=True));
>

> Beh, qual'è la tabella? :-)


> Per l'esempio suppongo "Tabella Compagnie":
>
> DELETE [Tabella Compagnie].*
> FROM [Tabella Compagnie] INNER JOIN SelCompagnie
> ON [Tabella Compagnie].[CA-DESC] = SelCompagnie.compagnia
> WHERE SelCompagnie.flag=True;
>
> --
> HTH
> Karl
> *********
> Access FAQ: www.donkarl.com/it
>

Scrivendola in questo modo mi d'ha il messaggio: "Impossibile eliminare
dalle tabelle specificate", non capisco perchè ?

Karl Donaubauer

unread,
Mar 2, 2010, 11:57:14 AM3/2/10
to
net-level wrote:
> "Karl Donaubauer" ha scritto:
> ...

>>> In una query di eliminazione composta da 2 tabelle, come faccio a
>>> specificare qual'� la tabella dove devo eliminare i record ?

>>> es. della query:
>>> DELETE [Tabella Compagnie].[CA-ID], SelCompagnie.flag
>>> FROM [Tabella Compagnie] INNER JOIN SelCompagnie ON [Tabella
>>> Compagnie].[CA-DESC] = SelCompagnie.compagnia
>>> WHERE (((SelCompagnie.flag)=True));
>>
>> Beh, qual'� la tabella? :-)

>> Per l'esempio suppongo "Tabella Compagnie":
>>
>> DELETE [Tabella Compagnie].*
>> FROM [Tabella Compagnie] INNER JOIN SelCompagnie
>> ON [Tabella Compagnie].[CA-DESC] = SelCompagnie.compagnia
>> WHERE SelCompagnie.flag=True;
> ...

> Scrivendola in questo modo mi d'ha il messaggio: "Impossibile
> eliminare dalle tabelle specificate", non capisco perch� ?

Di solito aiuta impostare a S� la propriet� "Record univoci" della query.
In SQL:

DELETE DISTINCTROW [Tabella Compagnie].*


FROM [Tabella Compagnie] INNER JOIN SelCompagnie
ON [Tabella Compagnie].[CA-DESC] = SelCompagnie.compagnia
WHERE SelCompagnie.flag=True;

Se non aiuta puo dipendere dai campi che usi per il JOIN.
Hanno un indice tutti e due?

net-level

unread,
Mar 2, 2010, 12:44:01 PM3/2/10
to

"Karl Donaubauer" ha scritto:

> net-level wrote:
> > "Karl Donaubauer" ha scritto:
> > ...
> >>> In una query di eliminazione composta da 2 tabelle, come faccio a

> >>> specificare qual'è la tabella dove devo eliminare i record ?


> >>> es. della query:
> >>> DELETE [Tabella Compagnie].[CA-ID], SelCompagnie.flag
> >>> FROM [Tabella Compagnie] INNER JOIN SelCompagnie ON [Tabella
> >>> Compagnie].[CA-DESC] = SelCompagnie.compagnia
> >>> WHERE (((SelCompagnie.flag)=True));
> >>

> >> Beh, qual'è la tabella? :-)


> >> Per l'esempio suppongo "Tabella Compagnie":
> >>
> >> DELETE [Tabella Compagnie].*
> >> FROM [Tabella Compagnie] INNER JOIN SelCompagnie
> >> ON [Tabella Compagnie].[CA-DESC] = SelCompagnie.compagnia
> >> WHERE SelCompagnie.flag=True;
> > ...
> > Scrivendola in questo modo mi d'ha il messaggio: "Impossibile

> > eliminare dalle tabelle specificate", non capisco perchè ?
>
> Di solito aiuta impostare a Sì la proprietà "Record univoci" della query.


> In SQL:
>
> DELETE DISTINCTROW [Tabella Compagnie].*
> FROM [Tabella Compagnie] INNER JOIN SelCompagnie
> ON [Tabella Compagnie].[CA-DESC] = SelCompagnie.compagnia
> WHERE SelCompagnie.flag=True;
>
> Se non aiuta puo dipendere dai campi che usi per il JOIN.
> Hanno un indice tutti e due?
>
> --
> HTH
> Karl
> *********
> Access FAQ: www.donkarl.com/it
>

Funziona.... sei un grande, grazie Karl.

0 new messages