Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Access 2003] i db non si compattano

    Non riesco a compattare i db di access.
    Perché la funzione "Compatta e ripristina database" non funziona?

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Cosa noti di particolare per dire che non funziona ?


    .

  3. #3
    ho un database con un centinaio di record
    avendone cancellati qualcuno in ordine sparso
    la numerazione del contatore (campo ID) è sfalsata (parte addirittura da 12)
    e quando clicco su "Compatta e ripristina database" non succede proprio nulla!
    Non dovrebbe invece riorganizzare il campo contatore dal numero 1 (al posto di 12)
    fino all'ultimo numero (corrispondente all'ultimo record) in modo progressivo?

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Originariamente inviato da spider75
    Non dovrebbe invece riorganizzare il campo contatore dal numero 1 (al posto di 12)

    No non deve assolutamente modificare il contatore.


    Il numero del contatore nasce insieme al record e lo accompagna IMMUTATO
    per tutta la sua "vita"
    e da questa caratteristica il contatore prende la sua "forza"

    __________________________________________________ ____________

    Se tu hai la tabella Fornitori con campo Contatore
    ( solitamente chiamato Id )


    poi hai la tabella Ordini su cui scrivi il numero di Id della tabella
    fornitori per individuare appunto il fornitore a cui fai un ordine


    Poi tu permetteresti che una compattazone ti cambia
    il numero di cintatore della tabella fornitori ???

    __________________________________________________ ___________


    Detta diversamente il campo contatore lo devi accettare cosi come è.

    Diversamente devi essere te a creartiun campo normalissimo Numerico
    che non accetti duplicati,
    non accetti Null,
    che si incrementa di 1 unita ad ogni nuovo record,
    che in caso di eliminazione di un record scali di una unita tutti i numeri superiori,
    con la stessa operazione speculare anche nelle tabelle collegate


    Sempre restando sull'esempio della tabella fornitori spesso il suo Id
    è anche il "Codice Fornitore" citato nelle registrazioni contabili.

    Quindi se tu lo cambi ???

    __________________________________________________ _________
    __________________________________________________ _________
    __________________________________________________ __________
    __________________________________________________ _________


    Detto tutto quanto sopra la compattazione modifica il contatore
    solamente nel senso che.

    Hai una tabella dove sei arrivato a 155
    crei il record 156 e 157
    elimini i record 156 e 157
    ___ Non fai la compattazione Ripartiresti da 158
    ___ Fai la compattazione Riparti da 156


    __________________________________________________ __________
    __________________________________________________ __________
    __________________________________________________ __________


    Con delle query lanciate da VBA con il metodo Exeute puoi tuttavia
    modificare il valore del contatore ma non te lo consiglio




    .

  5. #5
    grazie mille
    sei stato gentilissimo
    e chiarissimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.