ho questo problema: ho una colonna di una tabella che può contenere
duplicati e devo contare il numero di volte che ciascun dato compare.
Es. Tabella 1. La mia colonna IDRec contiene 0001, 0001, 0002, 0003, 0002,
0004, 0002, 0004, 0003 devo sapere quante volte compare lo "0001", quante lo
"0002", ecc...
La difficoltà che incontro è nell'usare un recordset. Devo creare tante
tabelle temporanee per ciascun IDRec e poi fare un recordcount su ognuna
oppure esiste un modo meno macchinoso via codice?
Quella che vi ho incollato è lo scheletro della funzione che mi serve ma che
funziona solo con il primo IDRec presente nella tabella mentre dovrei
estenderlo per farlo funzionare ricorsivamente con tutti i dati contenuti
nella colonna IDRec.
Uso DAO per accedere ai dati.
Grazie,
Lorenzo
---------------------8<-----------------------
Public Sub Pippo()
Dim rst As Recordset
Dim dbs As Database
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Tabella1")
a = rst!IDrec
contatore = 0
Do While Not rst.EOF
b = rst!IDrec
If a = b Then
contatore = contatore + 1
End If
rst.MoveNext
Loop
MsgBox ("L'IDRec " & a & " è ripetuto " & contatore & " volte!")
End Sub
---------------------8<-----------------------
Usando VBA mi sembra che ti stai complicando inutilmente la vita; prova a
crearti una query di raggruppamento che abbia un codice SQL simile a questo:
SELECT Tabella1.IDRec, Count(Tabella1.IDRec) AS ConteggioDiIDRec
FROM Tabella1
GROUP BY Tabella1.IDRec;
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
Grande! Proprio quello di cui avevo bisogno!
Grazie,
Lo