Newsgroup: it.comp.lang.visual-basic
Titolo: [?] come fa a incasinarsi un mdb ?

in esecuzione automatica ho messo il link a un exe che in un mdn 97 scrive
una riga e segna l'ora a ogni di boot di windows. a ogni chiusura regolare
va sull'ultima scheda e scrive l'ora. naturalmente se win s'inchioda il
secondo campo rimane non scritto.
sta andando senza problemi da 4 anni. 2 gg fa all'improvviso ha lanciato il
msg
"formato db non riconosciuto".
con access ho fatto "ripristina" e il db e' resuscitato. ma non capisco cosa
sia successo, visto oltretutto che le ultime chiusure erano state regolari.
mi preoccupa naturalmente non questo db in se', ma quello che puo' succedere
a qualche db cui tengo di piu'.
grazie, a.

 ha scritto nel messaggio
news:95eqvf$gp4vo$3...@ID-51318.news.dfncis.de...

I motivi possono essere diversi : di solito accade quando avviene
un'interruzione brutale durante la scrittura di un record sul db (le cause
dell'interruzione possono essere le + svariate....).
Inoltre, e' piu' facile che il db e' piuttosto grosso (superiore ai 100
mb...).
Hai mai fatto una compressione del db ???
Accessa ha la deprecabile tendenza ad espandersi a dismisura....
Che succede alla connessione db del tuo exe se windows si chiude brutalmente
???
Magari non e' successo ultimamente, ma certo se al momento di una chiusura
brutale la connessione e' aperta, il db non fa i salti di gioia !! :))
Lo so che non ho dato una soluzione, ma spero di essere stato utile
ugualmente...
Ciao..
Lorenzo

 Lorenzo
grazie, forse si'.
quando parte, il pc carica un bel po' di roba. puo' essere che qc abbia
interferito proprio mentre il mio stava facendo l'addnew.
se per "connessione db" intendi ado, l'exe usa dao. il db e' piccolo, ca
400k, anche se non ho fatto quasi mai la compattazione.
ciao, a.

sta andando senza problemi da 4 anni.
Che cu... hem accidenti, che fortuna!.
4 anni senza una riparazione.
Comunque, a scanso di equivoci io come prima istruzione nei prog che usano
mdb faccio un bel CompactDataBase, che oltre a ottimizzare e ridurre il DB
lo ripara se ha qualcosa che non va, prima che il prog ci lavori sopra.
Ciao


Con i database importanti fatti con access (DAO) ho implementato un
meccanismo automatico che se al
lancio del programma ha problemi col DB, tenta di ripararlo e di
compattarlo. Se non riesce.... panic.
I DB access non sono affatto affidabili sotto questo punto di vista, ma per
dire il vero, certi problemi capitano, chi + chi -, con tutti i DB.
Chissà, magari anche con l'AS/400, ma bisognerebbe chiederlo a qualche
AS/400-ntista.
Ettore Maronese
il Mes
http://www.maronese.com/mes

 AS/400-ntista.
tipo marco o stracca, se non sbaglio. ok, appunto per il meeting, li vedo
poco sul ng ultimamente, saranno parecchio presi. be', cosi' li distraggo
durante le pappardelle :))
ciao, a.

AS/400-ntista.
Lavoro su S/38 e poi su AS/400 dal 1981.
L'ultima volta che mi e' capitato qualcosa di paragonabile agli mdb
scassati da cui si e' partiti e' stato negli anni '80, e non verso la
fine.
L'ambiente di programmazione locale ha pregi e difetti, e a mio parere
oggi e' molto inferiore a quello che puoi avere su pc, ma se parliamo
di affidabilita' non esistono i presupposti neppure per pensare di
iniziare un confronto.

 ha scritto nel messaggio
news:95eqvf$gp4vo$3...@ID-51318.news.dfncis.de...


 Provala e vedrai che risolverai alcuni problemini...
grazie daniele.
se posso, ti consiglierei solo di tenere un bkp, succedesse mai che il pack
non ha un buon esito...
qui sotto allego il tuo codice e quello che uso io, per la parte relativa.
ciao, a.
Sub CompactDB(DBName As String)
...
CompactDatabase FileDataBase, TmpFile
'Stop
If Dir$(TmpFile) <> "" Then
Kill FileDataBase
Name TmpFile As FileDataBase
Else
Messaggio = "Errore durante la compressione del file"
Messaggio = Messaggio + "Il Database non e' stato compresso"
Screen.MousePointer = 0
MsgBox Messaggio, 48, "Attenzione"
Exit Sub
End If
...
End Sub
Private Sub mnuDBpack_Click()
    ...
    DBEngine.CompactDatabase MyPath & "ARK.mdb", MyPath & "ARKnew.mdb"
    Beep
    Kill MyPath & "ARKold.mdb"
    Name MyPath & "ARK.mdb" As MyPath & "ARKold.mdb"
    Name MyPath & "ARKnew.mdb" As MyPath & "ARK.mdb"
    ...
End Sub

Accessa ha la deprecabile tendenza ad espandersi a dismisura....
Non solo Access :) Word docet =)
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-IV --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD