Cancellazione record da tabella con access

giovedì 03 luglio 2008 - 16.01

barbara802000 Profilo | Newbie

Buongiorno a tutti sto provando a risolvere una questione riguardo la cancellazione di un record da una tabella di access attraverso visual basic;
Spiego meglio:
Ho un database con due tabelle chiamate rispettivamente GeneraleProcesso e Tab_Ricetta
La prima colonna di entrambe le tabelle è chiamata NomeRicetta
La differenza tra le due e che ogni qualvolta si crea una ricetta in GeneraleProcesso questa viene inserita due volte in Tab_Ricetta
cioe se
GeneraleProcesso è fatta così Tab_Ricetta sarà fatta così
NomeRicetta NomeRicetta
Pippo Pippo
Pippo1 Pippo
Pippo1
Pippo1

Ora io voglio fare questo tipo di controllo:
1)Verificare che le due tabelle abbiano lo stesso numero di ricette e ho pensato di fare in questa maniera (scrivo la parte di codice relativa a questa questione):
query = "Select NomeRicetta FROM GeneraleProcesso" query1 = "SELECT NomeRicetta FROM Tab_Ricetta_Avv_ID GROUP BY Tab_Ricetta_Avv_ID.NomeRicetta" Set rs = db.OpenRecordset(query) Set rs1 = db.OpenRecordset(query1) rs.MoveFirst While Not rs.EOF rs.MoveNext Wend rs1.MoveFirst While Not rs.EOF rs1.MoveNext Wend if rs.RecordCount<>rs1.RecordCount then MsgBox "Sono uguali",VbInformation else MsgBox"Sono diversi",VbInformation end if
Ora io volevo implementare il mio codice in questa maniera:
quando vedeva che un recordset di Tab_Ricetta non era contenuto in Generale Processo devo cancellare tale record;
Esiste un comando SQl che fa questo?
Grazie

lbenaglia Profilo | Guru

>Ora io volevo implementare il mio codice in questa maniera:
>quando vedeva che un recordset di Tab_Ricetta non era contenuto
>in Generale Processo devo cancellare tale record;
>Esiste un comando SQl che fa questo?

Ciao Barbara,

se ho capito bene quanto chiedi, potresti risolvere con questo comando:

DELETE FROM Tab_Ricetta_Avv_ID WHERE NomeRicetta IN ( SELECT R.NomeRicetta FROM Tab_Ricetta_Avv_ID AS R LEFT JOIN GeneraleProcesso AS GP ON R.NomeRicetta = GP.NomeRicetta WHERE GP.NomeRicetta IS NULL );

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

barbara802000 Profilo | Newbie

Si esattamente quello che volevo
Grazie Mille
Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5