Newsgroup: it.comp.appl.access
Titolo: cercare la parola senza incrementare il contatore

Ciao a tutti,
nel suggerimento di Cinzia news:ckojcn$usr$
1...@lacerta.tiscalinet.it
riguardante il codice per cercare la parole senza incrementare il contatore
statistico mi da un errore nelle righe che seguono:
____________________________________________________________
If numparole Mod 200 = 0 Then
                            FormPrincipale.Label.Caption = "parole Trovate="
" & NumParole
                            DoEvents()
                    End If
____________________________________________________________
credo che sia solo un banale errore di compilazione ma non sono un
asso in VB, neanche un 2 di briscola veramente!
dove sta? 

 ha scritto nel messaggio
news:2tiprmF...@uni-berlin.de...

Ciao Alxx,
c'era un doppio apice di troppo.
Ho sostituito FormPrincipale con Me, devi cambiare
Label con il nome dell'etichetta che avrai creato sulla maschera,  per far
vedere l'avanzamento del lavoro
   me.Label.Caption = "parole Trovate="  & NumParole
Saluti
Cinzia

Ciao Cinzia,
ricapitoliamo un attimo perche' credo di essere sicuramente in errore:
1)creo una maschera con un pulsante
2)al pulsante associo un codice (quello da te suggerito)
3)l'etichetta del pulsante diciamo che la chiameremo Label (per brevita')
l'SQL della Query1 sara':
SELECT Parola, Count(parola) AS Occorrenze
FROM PAROLE
GROUP BY Parola;
4)l'oggetto tabelle conterra' due tabelle:
Anagrafe   campo1> Id    campo2> NomeCognome
Parole   campo1> Parola    campo2> Volte
il codice, secondo le tue ultime modifiche, dovrebbe essere questo:
_______________________________________________________________________
Dim rstAnagrafe As DAO.Recordset
Dim rstParole As DAO.Recordset
Dim numparole as long
Dim Conta As Integer
Dim MiaParola As String
Dim MiaLettera As String
MiaParola = ""
DoCmd.SetWarnings False
numparole = 0
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.AddNew
                    rstParole!Parola = MiaParola
                    rstParole.Update
                    MiaParola = ""
                    numparole = numparole+1
                    if numPatole Mod 200 = 0 Then
                             me.Label.Caption = "parole Trovate="  & 
NumParole
                            DoEvents()
                    end if
             End If
        Else
            MiaParola = MiaParola & MiaLettera
        End If
    Next Conta
    If MiaParola <> " " Then
            rstParole.AddNew
            rstParole!Parola = MiaParola
     End If
        rstParole.Update
        MiaParola = ""
    End If
    rstAnagrafe.MoveNext
Loop
Set rstAnagrafe = Nothing
Set rstParole = Nothing
DoCmd.OpenQuery "Query1"
___________________________________________________________________________
se cosi' fosse mi da un errore alla riga 27 > DoEvents ()
tranne l'errore alla riga 27, il resto della procedura e' corretta?
ciao


Ti ho messo le correzioni,
ho aggiunto una dichiarazione
Dim res as integer
e ho corretto la riga 27:
    res = DoEvents()
io Toglierei anche l'ultima istruzione DoCmd.OpenQuery "Query1"
e la sostituirei con un bel
        MsgBox("Finito!")
La query la aprirai a mano se prima o poi arriva in fondo.
Non so se ci sono altri errori le modifiche le ho fatte a braccio senza
provarle, se trovi qualche altro errore
prova a mandarmi una versione ridotta del DB con una ventina di righe
zippato che gli do un'occhiata.
Ciao
Cinzia