Compattazione e ripristino di DB corrotto

di il
4 risposte

Compattazione e ripristino di DB corrotto

Miei cari amici,
buone fatte feste a tutti e buon nuovo anno.
Ho un database abbastanza funzionante e appagante, ma lo vorrei arricchire di una nuova performance.
Di tanto in tanto avrò bisogno di "passare" delle tabelle, aggiornate da me offline a chi lavora con la mia procedura compilata.
Affinché queste tabelle vadano a sostituire quelle già esistenti, il programma dovrebbe disporre di comandi che da menù facciano pari pari tutto quello che avviene manualmente, e cioè:
- cancellare innannzitutto le relazioni delle tabelle;
- cancellare le tabelle
- importare le nuove tabelle
- ripristinare le relazioni
- compattare e ripristinare il database.
Non so se ho dimenticato qualcosa.
Ho visto che una parte di ciò si potrebbe fare con comandi DoCmd tipo: TranserDatabase, DeleteObject, Rename. Ma è solo il dieci per cento del lavoro.
Chiedendo a chi è più esperto di me; esiste una procedura veloce e diretta per fare in automatico tutte queste cose?
In particolare quando si corrompe per qualunque motivo il DB, come si può dare il comando di "Compatta e Ripristina da menù operatore".

Ciao a tutti
antonio cuomo

4 Risposte

  • Re: Compattazione e ripristino di DB corrotto

    antocuomo ha scritto:


    Miei cari amici,
    buone fatte feste a tutti e buon nuovo anno.
    Ricambio con affetto.

    antocuomo ha scritto:


    Ho un database abbastanza funzionante e appagante, ma lo vorrei arricchire di una nuova performance.
    E bravo Antonio. Un amico mi diceva che io ero entrato nel tunnel dell'informatica e della tecnologia (che prima detestavo), a forza di domande sempre più complesse che gli ponevo qua e là. Ti ho seguito in varie fasi, anche personalmente. Dove ho potuto ho dato il mio contributo. Poi ho notato che hai spiccato il volo da solo e altri utenti più esperti (@Alex su tutti) hanno continuato (soprattutto sul VBA). Sempre più spesso esordisci con questa frase su nuovi thread. La morale (o la mia risposta) è che L'APPETITO VIENE MANGIANDO e non si finisce mai di imparare o evolvere il proprio database.

    antocuomo ha scritto:


    Di tanto in tanto avrò bisogno di "passare" delle tabelle, aggiornate da me offline a chi lavora con la mia procedura compilata.
    Affinché queste tabelle vadano a sostituire quelle già esistenti, il programma dovrebbe disporre di comandi che da menù facciano pari pari tutto quello che avviene manualmente, e cioè:
    - cancellare innannzitutto le relazioni delle tabelle;
    - cancellare le tabelle
    - importare le nuove tabelle
    - ripristinare le relazioni
    - compattare e ripristinare il database.
    Non so se ho dimenticato qualcosa.
    Ho visto che una parte di ciò si potrebbe fare con comandi DoCmd tipo: TranserDatabase, DeleteObject, Rename. Ma è solo il dieci per cento del lavoro.
    Chiedendo a chi è più esperto di me; esiste una procedura veloce e diretta per fare in automatico tutte queste cose?
    Io non so se saprei farlo. Rispondo a sensazione istintiva e sulla base del mio e tuo bagaglio acquisito. Tutte queste belle cose devi progettarle tu organicamente. Il VBA è lì a tua disposizione per personalizzare ogni singola operazione che hai citato.

    antocuomo ha scritto:


    In particolare quando si corrompe per qualunque motivo il DB, come si può dare il comando di "Compatta e Ripristina da menù operatore".
    Ricordo di aver tentato di usarlo una volta con le macro, ma pare (lo confermano anche le guide in linea) non sia molto efficente. Una analoga istruzione in VBA dovrebbe esistere. Sta a te introdurlo nei punti giusti dei tuoi codici.

    Come puoi notare ho dato semplicemente delle risposte in generale. Un utente più esperto saprà certamente dirti qualcosa di meglio al riguardo.
  • Re: Compattazione e ripristino di DB corrotto

    Ciao Antonio,
    il metodo che pensi di utilizzare non è corretto, perché permette di agire sul database corrente, mi riferisco a TranserDatabase, dai un'occhiata alla guida.
    Credo che non ti resti altro che copiare tabella e campi, indici e relazioni e dai in seguito alla creazione di un nuovo DB.
    consiglio un'approfondimento del modello a oggetti dao.
    E' un bel progetto da eseguire!
    un saluto.
  • Re: Compattazione e ripristino di DB corrotto

    Io non capisco perché devi pensare a fare e disfare... pensi veramente possa essere una tecnica valida..?
    Prima di tutto devi spiegarci di cosa parliamo... di modifiche Offline da rendere Online. ..? Mai sentito parlare di Repliche. .? Prova a documentarti in questa direzione, la tua idea è tecnicamente molto sbagliata da pensare sia un Gadget.
  • Re: Compattazione e ripristino di DB corrotto

    Saluto e ringrazio tutti.
    Mi cimenterò senz'altro sulle Repliche, ora che ho saputo a cosa potrebbero servire e soprattutto perché la mia strada, che dal buio pesto del mio cunicolo stavo per intraprendere, era per voi praticamente impercorribile. Anche questo è un risultato per la mia ricerca.

    Quanto a Osvaldo, che saluto caramente per essere stato il mio primo maestro, dico: hai visto che belle figuracce faccio ancora con Alex? ....e tu pensavi che io avessi preso il volo.
    Purtroppo io vivo nel perpetuo dilemma di chi non sa se scegliere di fare Programmazione sul serio (alla mia età ??) o di continuare a ritoccare il mio DB. Forse non lo scioglierò mai e rimarrò per sempre un eterno mediocre.

    Giusto poi per fare un attimo di ulteriore chiarezza su quanto avevo cercato di esporre nel mio quesito....
    Il mio DB riguarda la Banca del Tempo di Maddaloni che probabilmente partirà a gennaio prossimo.
    Mi sono occupato del SW perché sono un associato ed un appassionato della programmazione.
    Dovete sapere che la Banca del tempo è un'attività di volontariato per cui sicuramente non avremo operatori che vorranno assumersi grosse responsabilità sul loro operato e se poi a questo aggiungi un SW non abbastanza protetto, bisognerà facilmente correre a mettere delle toppe quà e là.
    I soci che metteranno le mani sui dati saranno quattro o cinque, molto a digiuno di informatica e lontani l'uno dall'altro e da me stesso, per cui dovremo spedirci delle mail. Tutto quà.
    Io immaginavo che lanciando nuove tabelle al destinatario che in quel momento gestiva il SW, sarebbe bastato, senza entrare in Access, caricarle spingendo qualche tasto da menù per attenere con l'automazione quello che fa, solitamente Access.
    Ora vado ad erudirmi sulle Repliche, poi ritorno e ne riparliamo.
    Ciao di nuovo
    antonio cuomo
Devi accedere o registrarti per scrivere nel forum
4 risposte