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

    Azzermaneto indice DbACCESS

    Ciao a tutti, ho provato a cercare ma non ho trovato nulla riguardo il mio problema. Ho creato un progettino Vbp con database Access. Ho provato inserimenti, cancellazioni, modifiche e tutto funzione bene. Mi chiedo: avendo fissato un indice ID come chiave primaria e autoincrement, come faccio ad azzerare l'indice quando cancello i record da db? Nella cancellazione il db cancella tutto, ma al primo inserimento l'indice riparte dalla ultima posizione che aveva raggiunto Vorrei che quando cancello tutto al successivo primo inserimento l'indice riparta da zero. Mi potete aiutare? Grazie a tutti e ciao!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Per azzerare un contatore, dopo l'eliminazione dei record devi compattare il DB.
    Lo puoi fare sia a mano (Strumenti -> Utilità Database -> Compatta e ripristina Database) sia via codice (tramite una macro o del codice VBA):

    codice:
    Application.DBEngine.CompactDatabase
    Sposto nel forum dedicato a VB.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    codice VBA? scusami non sono pratico, potresti spiegarmi meglio?

    grazie

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da pboscolo
    codice VBA? scusami non sono pratico, potresti spiegarmi meglio?
    Avevo letto che avevi creato un progetto VBA... ora ho letto meglio e vedo "VBp"... che roba è?
    In che linguaggio stai programmando?
    Che magari la discussione non andava spostata su questo forum e la riporto dov'era... ho anche modificato il titolo...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    VBP è il file di progetto di VB6.

    La soluzione più semplice è farlo da MSAccess, come ti ha indicato LeleFT.

    Dove si trovi il comando "Compatta e ripristina" dipende da quale versione di MSAccess possiedi (ma sono sempre nel menu File, se non ricordo male).


  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da gibra
    VBP è il file di progetto di VB6.
    Ok, quindi nell'errore ho spostato giusto. Ora aggiorno il titolo.

    La soluzione più semplice è farlo da MSAccess, come ti ha indicato LeleFT.

    Dove si trovi il comando "Compatta e ripristina" dipende da quale versione di MSAccess possiedi (ma sono sempre nel menu File, se non ricordo male).

    Io ho Office 2000 e il comando è nel menu Strumenti, come ho riportato nel precedente post. Nelle versioni più recenti non lo so.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    VBP è l'estensione del progetto Vb6. Linguaggio di programmazione Visual Basic 6. Volevo gestire questa cosa da codice e non direttamente da access. Mi potresti spiegare meglio Application.DBEngine.CompactDatabase? è un riferimenti di access? lo posso scrivere così come sta sul codice? c'è un metodo alterbativo?

    Grazie mille e scusa per le troppe domande

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Per gestire la compattazione da codice VB6, allora l'istruzione

    Application.DBEngine.CompactDatabase

    non è disponibile, perchè è specifica dell'ambiente MSAccess, mentre tu usi VB6.
    E non ha nemmeno senso utilizzare un riferimento ad Access, perchè qualora tu distribuissi l'applicazione se l'utente non ha MSAccess installato non funzionerebbe più.

    Per compattare un database Access occorre referenziare la libreria
    Microsoft Jet And Replication Object (msjro.dll)

    Ecco come fare

    How To Compact Microsoft Access Database Through ADO
    http://support.microsoft.com/kb/230501/en-us


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.