PDA

View Full Version : problema in Access


rbianco
17-03-2004, 09:31
Ciao a tutti.
Un db che ho costruito con Access 2000, in momenti random, quando tento di aggiungere nuovi record usando le maschere da me create mi dà errore.

La cosa che voglio evidenziarvi è che, facendo un "Compatta e Ripristina database", tutto torna a posto: ri-eseguo le identiche operazioni che prima mi davano errore, e funziona tutto!
Il punto ovviamente è che non voglio dover dare un "Compatta e Ripristina database" due volte al giorno, senza capirne il motivo.

Pensavo una causa potesse essere la dimensione della tabella principale, ma ho guardato le specifiche dei file MDB e siamo ben lontani dai limiti massimi, sia di dimensioni/quantità dei dati contenuti (tabelle, campi, tutto) sia di MB occupati dal file MDB stesso.
Se non arrivo ad una soluzione, sarebbe ugualmente interessante una macro o q.c. del genere in modo che, ad ogni apertura (o chiusura) del db, venisse comandato un "Compatta e Ripristina database" in automatico - soluzione temporanea, ma probabilmente efficace. :)

Questo il TRANCIO di codice (tipo pizza-al-pezzo :D) nel quale capita l'errore, in particolare tentando l'esecuzione della riga marcata con "<<<<<<":


Private Sub pulsanteSalva_CLICK()
On Error GoTo ERRORE

Set MIODB = DBEngine.Workspaces(0).Databases(0)
Set MIOSET = MIODB.OpenRecordset("tabellaClienti", DB_OPEN_TABLE)
MIOSET.MoveLast
nuovoID = (MIOSET![IDCliente] + 1)
MIOSET.AddNew
MIOSET![IDCliente] = nuovoID
MIOSET![RagioneSociale] = testoNuovoCliente
MIOSET.Update <<<<<<<<<<<<<<<<<<<<<<
MIOSET.Close
MsgBox ("Aggiungere i rimanenti dettagli nella Gestione Clienti.")
Global_ApriProx = True
DoCmd.Close
Exit Sub

ERRORE:
MsgBox "Errore!"
Exit Sub

End Sub
Grazie per il vostro commento.