Query di aggiornamento ed eliminazione in Access

Stato
Chiusa ad ulteriori risposte.

alexbadboys

Nuovo Utente
14 Feb 2005
10
0
0
Ciao, devo realizzare 2 query in Access e data la mia scarsa esperienza al riguardo sono nella più completa disperazione perché non so da dove cominciare....
Allora, ho un database con 3 tabelle (riporto sotto i nomi delle tabelle in grassetto ed i rispettivi campi):

T_Aziende
IDAzienda
RagioneSociale
NumeroSedi

T_Sedi
IDSede
IDAzienda
NumeroSede
Indirizzo
Provincia

T_Persone
IDSede
NumeroPersona
Nome
Cognome
Età
Sesso
Indirizzo
Telefono
Stato
Studio
Professione

Questo database è molto intuitivo e semplice; c'è l'integrità referenziale e relazione tra i campi IDAzienda nelle tabelle T_Aziende e T_Sedi e tra i campi IDSede nelle tabelle T_Sedi e T_Persone.
Devo realizzare queste 2 query (e non so farlo!!!)

1)Scrivere una query che aggiorni sulla tabella delle aziende il campo NumeroSedi col numero delle sedi dell’azienda stessa

2)Scrivere una query che elimini dalla tabella sedi quelle che hanno persone di sesso maschile

Qualcuno può dirmi come devo fare???? So che devo fare una query d'aggiornamento ed una d'eliminazione, ma non so proprio da dove iniziare....

Un frequentatore di questo forum ha cercato di aiutarmi e mi ha risposto così: (evidenzio in blu la sua risposta)

Tratto NumeroSedi come tipo Testo; se è numerico non usar gli apici
1) UPDATE T_Aziende SET NumeroSedi = '10' WHERE IDAzienda = 1
Se devi dinamizzarla devi memorizzare in una variabile il valore di una query che conta il numero delle sedi dalla tabella T_Sedi.
Una domanda, il programma è scritto stesso con interfaccia Access?

2) DELETE * FROM T_Persone WHERE Sesso = 'M'


In realtà non devo fare queste query da codice (cioè da un programma interfacciato ad access); devo costruirle direttamente in Access.
Allora, nonostante l'aiuto non ho risolto il problema perché:

1) UPDATE T_Aziende SET NumeroSedi = '10' WHERE IDAzienda = 1
La query suggeritami non va bene perché in realtà io dovrei fare una query con le tabelle T_Aziende e T_Sedi che mi vada a prendere il numero sede più elevato, cioè il numero totale di sedi per quell'azienda (ovviamente per ogni azienda) e lo vada a mettere nel campo numerico NumeroSedi nella T_Aziende

2) DELETE * FROM T_Persone WHERE Sesso = 'M'
Questa query che mi è stata indicata è semplice, ma io devo fare un'altra cosa: devo fare una query che mi veda quali sedi hanno persone di sesso maschile e mi vada a eliminare il record relativo a quella sede nella T_Sedi (e non in T_Persone!)

Qualcuno mi può dare un'aiuto? Sono alla disperazione :ister:
Ciao e grazie ancora :byebye:
 
Stato
Chiusa ad ulteriori risposte.

Discussioni simili