Newsgroup: it.comp.appl.access
Titolo: Query Ricerca Doppioni

salve amici... x cortesia mi dite come faccio a fare una query di ricerca x
trovare dei doppioni in un campo di una tabella....
il campo interessato contiene i  numeri di protocollo di un anagrafico così
digitato..esempio :
23/2000/F3456.... ove 23 è un progressivo...2000 è l'anno in corso ed F3456
è il numero di protocollo reale... a me interessa sapere se vi sono doppioni
di quest'ultimo...dato che il progressivo potrebbe essere diverso... Grazie
x l'aiuto....

prova ... scusate

Ma, ci dovrebbe essere una autocomposizione di una query di ricerca
duplicati, tutto in automatico!!
Ciao
Mari


scrisse:

Ti suggerirei di costruire una query Protocolli nella quale estrai
dalla tabella solo la parte del numero di protocollo che può essere
duplicata:
SELECT Mid$(NumProtocollo;9) As Prot FROM TuaTabella
eventualmente aggiungendo una clausola WHERE per selezionare solo un
anno.
Poi costruisci la query di ricerca duplicati così: 
SELECT DISTINCTROW First([Prot]) AS ProtDoppi, Count([Prot]) AS
NumDoppi
FROM Protocolli
GROUP BY [Prot]
HAVING Count([Prot])>1;
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Così disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)

 ha scritto nel messaggio
news:3a2dfe87...@firewall.regione.toscana.it...

grazie Vincenzo... la provo.... !!!

 ha scritto nel messaggio
news:QnvX5.45852$hk4.1...@news.infostrada.it...

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°°°°°°°
scusa Vincenzo...ho fatto una query x ricerca doppioni... inserendo il tuo
codice Sql... non funge...
sicuramente sbaglio qualche cosa...
ti invio il codice sql  della query che mi trova tutta la stringa esatta a
non solo la parte finale...come si può modificare affinchè mi trovi l'ultima
parte della stringa di protocollo..???
Esempio stringa protocollo 3456/2000/G2345..... Grazie
SELECT DISTINCTROW First(Anagrafe.N_Protocollo) AS N_ProtocolloCampo,
Count(Anagrafe.N_Protocollo) AS NumDuplicati
FROM Anagrafe
GROUP BY Anagrafe.N_Protocollo
HAVING (((Count(Anagrafe.N_Protocollo))>1));

Ho l'impressione che non ci siamo capiti:
nella soluzione che avevo proposto, le query da fare sono due.
La prima restituisce la parte del campo protocollo che può essere
duplicata.
La seconda utilizza la prima come origine record per ricercare i
numeri duplicati.
Ti invito a rileggere con attenzione la mia risposta precedente.


 Vincenzo Turturro
-------------------
ok Vincenzo... cmq scusa la mia ignoranza in merito ma ho provato molte
volte la query da te
suggerita...e mi da errore di sintassi sbagliata....ti scrivo il codice sql
che x ora mi restituisce solo
se inserisco tutta la stringa intera...x precisione ti riscrivo la stringa
in questione....
Esempio 1/2000/F4567 ...dove 1 è il contatore, 2000 l'anno in corso ed F4567
il numero di protocollo effettivo.... attualmente sono al record 6345....
grazie x l'aiuto...


(.....)
Se capisco bene, questa query ha come origine dati la tabella Anagrafe
contente i numeri di protocollo completi.
Se č cosě, non puoi applicare a questa query anche l'estrazione della
parte di numero protocollo che puň essere duplicata.
Nel mio post ti avevo suggerito di costruire prima una query che
restituisse dalla tabella Anagrafe solo la parte del campo contenente
il numero protocollo che puň essere duplicata.
Questa query deve poi diventare l'origine dati di una seconda query
che ha il compito di estrarre dalla prima query solo i numeri presenti
piů di una volta.
Non puoi fare tutto con una sola query perchč, nel tuo caso, la
ricerca duplicati richiede l'utilizzo della funzione di aggregazione
Count() applicata ad un campo "calcolato" (la porzione di numero
protocollo).
Ti serve quindi una prima query che "calcola" per ogni record il campo
i cui valori verranno poi "contati" dalla seconda query.
Spero di essere stato piů chiaro.
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Cosě disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------