Newsgroup: it.comp.appl.access
Titolo: compatta e ripristina tb

Volevo creare una maschera
dove poter selezionare le tabelle
da azzerare e fare compatta e ripristina
Grazie per l'aiuto 
 
 

 ha scritto nel messaggio 
news:4f43c2c3$0$1384$4faf...@reader1.news.tin.it...

ho utilizzato questo codice
StrCriterio = "SELECT * FROM TbTestata_Fattura"
Set Rst = CurrentDb.OpenRecordset(StrCriterio, dbOpenDynaset)
 
' Cancella TUTTI i records presenti
Rst.MoveFirst
Do Until Rst.EOF
    Rst.Edit
    Rst.Delete
Rst.MoveNext
Loop
 
' Azzera il contatore creando un record transitorio
Rst.AddNew
Rst!contarecord = 0
Rst.Update
 
' Elimina il record transitorio
Rst.MoveFirst
Do Until Rst.EOF
    Rst.Edit
    Rst.Delete
Rst.MoveNext
Loop
End If
 
ma non azzera il contatore
Perchč?
grazie 
 
 

 grazie
 
Non è possibile azzerare il contatore in un database di access.
Per farlo è necessario eliminare la tabella e ricreala.
 
Solo all'interno di un progetto di access collegato a sql server,
tramite una procedura, lo si può fare.
In sql server 2012 ci sarà un nuovo t-sql per azzerare un contatore.
 
saluti
 
Marco

 grazie
 
Non è possibile azzerare il contatore in un database di access.
Per farlo è necessario eliminare la tabella e ricreala.
 
Solo all'interno di un progetto di access collegato a sql server,
tramite una procedura, lo si può fare.
In sql server 2012 ci sarà un nuovo t-sql per azzerare un contatore.
 
 
ciao Marco
 
allora queste tre righe sono inutili
 
 ' Azzera il contatore creando un record transitorio
 Rst.AddNew
 Rst!contarecord = 0
 Rst.Update
grazie
 
 

Ciao!
 
Invece di ciclare sugli N record della tabella puoi usare una query di eliminazione.
 
currentdb.execute "DELETE * FROM TbTestata_Fattura;"
 
Poi, se la tabella si trova in un mdb diverso da quello in cui hai messo il codice (è così, vero? hai diviso FE e BE, vero? ;) ) puoi fare riferimento al metodo CompactDatabase ed a quanto trovi sul SitoComune (o su AccessGroup, o su AlessandroBaraldi.it, ...) dato che la compattazione resetta il contatore delle tabelle vuote.
 
HTH
Popi
 
 
 

resetta il contatore delle tabelle vuote.
 
grazie Popi
 
 
 

Ciao!
 
Cerca "dividere fe be" sul ng.
 
HTH
Popi

 ha scritto nel messaggio
news:24090420.42.1329923776210.JavaMail.geo-discussion-forums@ynel5...

grazie dell aiuto
 
ho fatto due db .mdb
uno con tutte le tb e l'altro con maschere, query, report, macro e moduli.
 
Ora?
 
 
 

 ha scritto nel messaggio 
news:4f450908$0$1380$4faf...@reader2.news.tin.it...

ora in FE ho fatto collega tb da BE
giusto?
Poi..................... 
 
 

Ciao!
 
Ora che hai messo i dati nel BE ed il codice nel FE e collegato nel FE le tabelle del BE puoi mettere nella maschera che vuoi un pulsante al quale far eseguire il metodo DbEngine.CompactDatabase di cui ti parlavo.
 
Ovviamente, quando fai girare quel codice non dovrai avere nessuna connessione attiva verso il BE (ergo: nessuna maschera, query, report, ecc. che prelevino i dati dal BE che vuoi compattare).
 
HTH
Popi

 ha scritto nel messaggio 
news:10583017.48.1329925757851.JavaMail.geo-discussion-forums@ynnj12...

grazie Popi
 
DbEngine.CompactDatabase  che ho trovato va bene solo per access 97
dove posso trovare quello per access 2003?
 
 
 

Uh???
 
Veramente il mio AXP lo riconosce e lo esegue senza problemi ...
 
Non è che hai capito al contrario le annotazioni che stanno sul sito di Alessandro Baraldi (se è lì che hai cercato)?
 
Hint: cerca "compactdatabase" qua sul ng e troverai info a iosa ;)
 
HTH
Popi

 ha scritto nel messaggio 
news:16440289.552.1329928562043.JavaMail.geo-discussion-forums@yncd8...
Uh???
 
Veramente il mio AXP lo riconosce e lo esegue senza problemi ...
 
Non č che hai capito al contrario le annotazioni che stanno sul sito di 
Alessandro Baraldi (se č lě che hai cercato)?
 
Hint: cerca "compactdatabase" qua sul ng e troverai info a iosa ;)
 
HTH
ciao Popi
 
cos č l'eseguibile  compact.exe?
se "si" dove va caricato nel db?
grazie
 
 


 
ho fatto copia e incolla della "Function fctCompactOtherDB" di Donkarl 
6.76.7
 
On Error Resume Next
 
    Dim strMsg As String
    Dim Rst As DAO.Recordset
    Dim StrCriterio As String
 
If Me!CasellaControllo0 = -1  Then
   strMsg = MsgBox("Vuoi veramente ELIMINARE i Records delle Tabelle dove la 
Check-Box è spuntata? ", vbYesNo, "Conferma...!")
   If strMsg = vbYes Then
   MsgBox "I Records relativi alle tabelle delle Check-Box spuntate sono 
stati Eliminati definitivamente"
If Me!CasellaControllo0 = -1 Then
    CurrentDb.Execute "DELETE * FROM TbTestata_Fattura;"
End If
fctCompactOtherDB "C:\Documents and Settings\Administrator\Desktop\Mio 
db_BE.mdb"
Else
   MsgBox "Operazione Annullata; i Records non sono stati Eliminati!!! "
End If
Else
    MsgBox "Devi spuntare le check-box delle Tabelle da azzerare"
    Exit Sub
End If
 
 
Ma non mi azzera il conatore
dove sbaglio? 
 
 

 ha scritto nel messaggio 
news:4f452ccc$0$1375$4faf...@reader2.news.tin.it...

ci sono riuscito