Newsgroup: it.comp.appl.access
Titolo: Canc tutti i record tabella:codex errore

Grazie per quante cose imparo con il vostro aiuto.
Se vi trovate dalle mie parti (costa Cilentana, fatevi sentire. Una
manguiata di pesce in buona compagnia non ve la toglie nessuno).
Allora, ho da proporvi il seguente quesito:
1) Nel sito comune ho trovato un codice per l'eliminazione di tutti i
record della tabella.
   Ecco il codex:
 Public Function SvuotaTab(nomeTab As String)
   DoCmd.SetWarnings False
   DoCmd.RunSQL "DELETE * FROM " & nomeTab & ";"
   DoCmd.SetWarnings True
End Function
'OPPURE
Function SvuotaTabella(strTab As String)
   Dim dbs As Database
   Dim rst As Recordset
   Set dbs = CurrentDb()
   Set rst = dbs.OpenRecordset(strTab)
   With rst
      If rst.RecordCount > 0 Then
         .MoveFirst
         Do
            .Delete
            .MoveNext
         Loop Until .EOF
      End If
      .Close
   End With
   Set dbs = Nothing
End Function
Allora, dove va inserito? Nell'evento click di un semplice pulsante di
comando? Va inserito tra le due istruzioni di sotto?
          Private Sub Comando0_Enter()
          End Sub
Se è cos', non appena inserisco il codice, ecco che l'end sub si trasforma
in End Function per cui mi ritrovo con 2 End Function alla fine del codice
e cliccando sul pulsante esce la scritta Errore di Compilazione, prevista
End sub.
Dove sbaglio? (sto cercando pure di capire la logica del codice...)
Ossequi
Amedeo B.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:brc0rg$ark$1...@news.newsland.it...

Allora quelle che tu hai riportato sono due funzioni, non due istruzioni.
La differenza (non andando troppo per il sottile) è che l'istruzione è
relativa a quel controllo o oggetto (casella di testo o pulsante) la
funzione invece è richiamabile dai controllo, gli oggetti, le query...
Allora o tu la lasci come funzione però copiaincollata in un modulo non
nella maschera che ti serve e in quest'ultima la richiami con
Private Sub Comando0_Enter()
svuotatabella
End Sub
oppure inserisci tutto il codice nel pulsante ma senza la denomnazione di
function
Private Sub Comando0_Enter()
    Dim dbs As Database
    Dim rst As Recordset
    Set dbs = CurrentDb()
    Set rst = dbs.OpenRecordset(strTab)
    With rst
       If rst.RecordCount > 0 Then
          .MoveFirst
          Do
             .Delete
             .MoveNext
          Loop Until .EOF
       End If
       .Close
    End With
    Set dbs = Nothing
End Sub
ciao MAssimiliano
p.s. Una buona mangiata di pesce, specie se condita da buona compagnia nn si
rifiuta mai, poi il panorama della tua terra...

Dirti che ti son molto grato sarebbe ovvio e poco.
Ti ringrazio, molto gentile.
Se passi da me, ricordati di questo "rompiscatole".
Sarà un piacere farti da Cicerone.
Ciao
Amedeo
(p.s. il panorama è bellissimo, da casa mia vedo Salerno, Vietri, Amalfi,
Positano e Capri...ma il mio mare è più bello!)
Ciao e grazie ancora.
MA ha scritto:







 Ciao e grazie ancora.
Da casa mia invece vedo Napoli, Sorrento, Capri, 'a Muntagn'... e fidati
sulla veduta non si discute
MAssimiliano