Mizio
2007-11-26 09:55:25 UTC
Ciao a tutti e buon inizio settimana.
Capisco che l'oggetto del mio posto dice poco su quanto vorrei realizzare,
ed allora vado a spigare meglio che posso.
Premetto che lavoro in Ado, VB6 e sql2000.
Per fare un update di alcuni (tanti) record di una tabella, oltre che
"chiedere" un recordset ad ado, possiamo usare il metodo Execute della
connessione e fare un update, es.:
Update Tabella Set Campo = 'Ciao' where Campo = 'Bye'
e fin qui, tutto ok.
Una cosa un po' piu' complessa, ed e' quello su cui vorrei avere
informazioni, e' la possibilita' di aggiornare dei record in base ad una
clausola Where soddisfatta in un'altra tabella.
Cerco di fare un esempio.
Abbiamo due tabelle, una con degli articoli (IdArticolo, Descrizione) ed una
con dei dettagli fattura (IdArticolo, Prezzo).
Vorrei poter aggiornare il prezzo nella tabella Dettagli per tutti i
dettagli articoli che si chiamano (quindi nella descrizione) Secchio.
Per poter tirare fuori il recordset come serve a me, in una select, farei:
Select * from Articoli Inner Join Dettagli where Articoli.Descrizione =
'Secchio'
Ora, a parte il fatto che normalmente il prezzo probabilmente si troverebbe
nella tabella degli articoli, e che in questo caso specifico forse sarebbe
piu' logico leggere l'id dell'articolo e fare un update sulla tabella
Dettagli usando l'id stesso, come si puo' tradurre cio' che mi serve in un
comando update?
Vorrei fare un update in una tabella dove i dati che mi servono sono
spalmati su altre due tabelle, e vorrei evitare di scorrere record per
record il recordset risultante dai due inner join e aggiornare "a mano" ogni
record.
Chi mi aiuta?
Grazie a tutti... Maurizio
Capisco che l'oggetto del mio posto dice poco su quanto vorrei realizzare,
ed allora vado a spigare meglio che posso.
Premetto che lavoro in Ado, VB6 e sql2000.
Per fare un update di alcuni (tanti) record di una tabella, oltre che
"chiedere" un recordset ad ado, possiamo usare il metodo Execute della
connessione e fare un update, es.:
Update Tabella Set Campo = 'Ciao' where Campo = 'Bye'
e fin qui, tutto ok.
Una cosa un po' piu' complessa, ed e' quello su cui vorrei avere
informazioni, e' la possibilita' di aggiornare dei record in base ad una
clausola Where soddisfatta in un'altra tabella.
Cerco di fare un esempio.
Abbiamo due tabelle, una con degli articoli (IdArticolo, Descrizione) ed una
con dei dettagli fattura (IdArticolo, Prezzo).
Vorrei poter aggiornare il prezzo nella tabella Dettagli per tutti i
dettagli articoli che si chiamano (quindi nella descrizione) Secchio.
Per poter tirare fuori il recordset come serve a me, in una select, farei:
Select * from Articoli Inner Join Dettagli where Articoli.Descrizione =
'Secchio'
Ora, a parte il fatto che normalmente il prezzo probabilmente si troverebbe
nella tabella degli articoli, e che in questo caso specifico forse sarebbe
piu' logico leggere l'id dell'articolo e fare un update sulla tabella
Dettagli usando l'id stesso, come si puo' tradurre cio' che mi serve in un
comando update?
Vorrei fare un update in una tabella dove i dati che mi servono sono
spalmati su altre due tabelle, e vorrei evitare di scorrere record per
record il recordset risultante dai due inner join e aggiornare "a mano" ogni
record.
Chi mi aiuta?
Grazie a tutti... Maurizio