Newsgroup: it.comp.appl.access
Titolo: Occorrenze in tabella

Ciao,
c'e' qualcuno che sa come trovare il termine piu' ripetuto in una tabella.
Ho una tabella mdb con piu' 2 milioni di records e voglio sapere quale 
parola risulta essere la piu' ripetuta. C'e' un modo?
grazie, ciao 

 ha scritto nel messaggio news:2sni6fF...@uni-berlin.de...

parola nei campi o valore di un campo?
se č parola nei campi potresti con una routine scorrere i record e cercare la parola  e incrementare un contatore
facci sapere
ciao
NIck 

 ha scritto nel messaggio
news:2sni6fF...@uni-berlin.de...

Forse sarebbe meglio conoscere la struttura della tabella e come č
organizzato il campo di tipo testo o memo che contiene le parole.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

In pratica,
ho una tabella nella quale c'e' un campo (di tipo testo) che contiene nome e 
cognome
(ovviamente entrambi potrebbero essere doppi, del tipo MARIA LUISA FALSETTI
GIGLI, dove "maria luisa" e' il nome e "falsetti gigli" il cognome).
La tabella contiene oltre 2 milioni di records e vorrei una specie di lista
decrescente dei termini piu' ripetuti nel campo "nome e cognome".
Una statistica insomma dei termini piu' frequenti ecco.
grazie, ciao 

 ha scritto nel messaggio news:2snlsrF...@uni-berlin.de...

allora ti basta crearti una query di selezione in questo modo:
inserisci la tabella di riferimento
poi inserisci 2 volte il campo nome
clicchi sul pulsante sommatoria e ti appariranno i parametri di raggruppamento
sotto il primo campo metti l'opzione "raggruppamento"
sotto il secondo metti "conteggio"
poi ordina il secondo per ordine decrescente
cosě avrai l'elenco dei nomi con in parte la relativa frequenza
ciao
Nick 

ok, grazie,
ciao 

 ha scritto nel messaggio
news:2snlsrF...@uni-berlin.de...

Se la tabella che contiene i dati si chiama Anagrafe.
Se il campo della tabella Anagrafe che contiene il nome ed il cognome si
chiama NomeCognome.
Creati una tabella chiamata Parole che abbia la seguente struttura:
Parola                Testo e chiave primaria
Volte                  Numerico
Creati una query chiamata Query1 che abbia il seguente codice SQL:
SELECT *
FROM Parole
ORDER BY Volte DESC , Parola;
Esegui il seguente codice VBA:
Dim rstAnagrafe As DAO.Recordset
Dim rstParole As DAO.Recordset
Dim Conta As Integer
Dim MiaParola As String
Dim MiaLettera As String
MiaParola = ""
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM Parole;"
DoCmd.SetWarnings True
Set rstAnagrafe = CurrentDb().OpenRecordset("Anagrafe")
Set rstParole = CurrentDb().OpenRecordset("Parole", dbOpenDynaset)
rstAnagrafe.MoveFirst
Do Until rstAnagrafe.EOF
    For Conta = 1 To Len(rstAnagrafe!NomeCognome)
        MiaLettera = Mid(rstAnagrafe!NomeCognome, Conta, 1)
        If MiaLettera = " " And Len(MiaParola) <> 0 Then
            If Nz(MiaParola, " ") <> " " Then
                rstParole.FindFirst "Parola =" _
                & Chr$(34) & MiaParola & Chr$(34)
                If rstParole.NoMatch Then
                    rstParole.AddNew
                    rstParole!Parola = MiaParola
                    rstParole!Volte = 1
                Else
                    rstParole.Edit
                    rstParole!Volte = rstParole!Volte + 1
                End If
                rstParole.Update
                MiaParola = ""
            Else
                MiaParola = ""
            End If
        Else
            MiaParola = MiaParola & MiaLettera
        End If
    Next Conta
    If MiaParola <> " " Then
        If DCount("*", "Parole", "Parola='" _
        & MiaParola & "'") = 0 Then
            rstParole.AddNew
            rstParole!Parola = MiaParola
            rstParole!Volte = 1
        Else
            rstParole.Edit
            rstParole!Volte = rstParole!Volte + 1
        End If
        rstParole.Update
        MiaParola = ""
    End If
    rstAnagrafe.MoveNext
Loop
Set rstAnagrafe = Nothing
Set rstParole = Nothing
DoCmd.OpenQuery "Query1"
Se usi una versione di Access successiva ad Access 97, aggiungi al tuo
database i riferimenti alla libreria Microsoft DAO.


mi vergogno a dirlo ma non riesco ad eseguire il codice.
non so cosa non va!
mi potresti dire la procedura giusta?
la cosa e' molto interessante,
ciao

 ciao
-- 


mi da:
errore di compilazione
non valido all'esterno di una routine
e si ferma su
MiaParola = ""
ciao 

 ha scritto nel messaggio
news:2sqpdlF...@uni-berlin.de...

L'istruzione MiaParola = "" č formalmente corretta, quindi ha commesso
qualche errore nel copiare ciň che ti ho suggerito, errore che solo tu che
hai in mano il database puoi riscontrare,
Comunque, come mi hai richiesto, ti ho inviato un database di esempio nel
quale si realizza ciň che ti serve; penso che cosě sarai sicuramente in
grado di confrontare ciň che tu hai fatto con ciň che avresti dovuto fare.


grazie per il tuo aiuto,
ho qualche problema con office credo,
perche' la semplice query funziona ma se
vado a collegare il pulsante mi da un errore run time
ciao