Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    19

    come azzerare il mio DB ?

    ciao a tutti ho creato un DB .mbd con access tramite uno script in vbs vado a copiarci dei dati ho anche messo a punto una funzione di azzera per una tabella , nonostante ciò il mio .mbd cresce in maniera esponenziale adesso è arrivato a 165.652 K come faccio ad azzerarlo ?

    ciao e grazie

    pilot

  2. #2
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    bhè se il linguaggio è vb6 potresti fare una cosa del genere x ogni tabella.

    rs.open (delete * tabella)

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao pilot.
    Se ho capito bene, stai usando delle Tabelle provvisorie, ovvero ove registri i dati per un'elaborazione, terminata la quale i predetti dati non ti occorrono più. Se è così potresti, prima di fare l'Insert into, cancellare i vecchi dati con il seguente comando in modo tale d'avere a disposizione sul db solo l'elaborazione più recente:
    codice:
    ' Prima di salvare Elimina i vecchi records dalla Tbl:
            Ogg.CommandText = "Delete * From TblAnagCL"
            Ogg.Execute
        
            Ogg.CommandText = "insert into TblAnagCL(Titolo, ...,)" _
                & "values (... ...);"
            Ogg.Execute
    PS. lo stesso comando lo puoi utilizzare per cancellare ad una ad una tutte le Tbl.
    LM

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    L'azzeramento o pulizia delle tabelle lascia inalterato lo spazio occupato dai record cancellati, per diminuire la dimensione del data base bisogna compattarlo:

    in DAO:

    NomeDB= c:\db1.mdb
    DBSalva = c:\db1salva.mdb
    'copia di sicurezza del data base prima della compattazione
    FileCopy NomeDB, DBSalva
    'cancella data base temporaneo db1.tmp (controlla gli errori perchè se non c'è ...)
    Kill Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "tmp"
    'compatta su db1.tmp
    CompactDatabase NomeDB, Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "Tmp"
    'cancella db1.mdb
    Kill NomeDB
    'copia da db1.tmp
    FileCopy Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "tmp", NomeDB

    in ADO:

    Bisogna aggiungere nei riferimenti del progetto la dll:
    Microsoft Jet and replication Objects 2.6 Library (msjro.dll)

    dal codice precedente DAO cambia solo la compattazione.

    Set CONN = New JRO.JetEngine
    CONN_Sorg = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & NomeDB
    & ";User ID=Admin;Password=;"
    CONN_Dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "Tmp" & ";"
    '
    CONN.CompactDatabase CONN_Sorg, CONN_Dest
    '
    Set CONN = Nothing

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465

    Moderazione

    Originariamente inviato da yyzyyz
    bhè se il linguaggio è vb6 potresti fare una cosa del genere x ogni tabella.
    Ma se, per un caso sfortunato, il linguaggio è un altro, tutte le risposte fornite sono inutili.

    Per favore, evitate di rispondere a chi omette il linguaggio di programmazione non rispettando il Regolamento, altrimenti non fate altro che incentivare questa pratica.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Qui, per fortuna, non è rivolto solo a me!!!

    Eppoi :.....script in vbs

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465

    Moderazione

    Originariamente inviato da mgmg
    Eppoi :.....script in vbs
    Non ho sempre il tempo materiale di leggermi l'intera discussione alla ricerca di una sigla che indichi il linguaggio di programmazione: proprio per questo si richiede espressamente di indicarlo nel titolo.

    Correggo sperando che l'autore della discussione abbia detto il giusto e stia più attento in futuro.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    19
    mgmg grazie

    cmq mi dà errore se cerco di farlo con VBScript mi spiego meglio:
    questo è il mio .vbs :

    'L'azzeramento o pulizia delle tabelle lascia inalterato
    'lo spazio occupato dai record cancellati, per diminuire
    'la dimensione del data base bisogna compattarlo:

    ' in DAO:

    Const ForReading=1, ForWriting=2, ForAppending=8
    Const adOpenDynamic = 2
    Const adOpenStatic = 3
    Const adOpenForwardOnly = 0
    Const adOpenKeySet = 1
    Const adLockBatchOptimistic=4
    Const adLockOptimistic=3
    Const adLockPessimistic=2
    Const adLockReadOnly=1

    Dim NomeDB, DBSalva
    NomeDB = "C:\LANCI.mdb"
    DBSalva = "C:\SD\LANCI.mdb"
    'copia di sicurezza del data base prima della compattazione
    FileCopy NomeDB, DBSalva
    'cancella data base temporaneo db1.tmp (controlla gli errori perchè se non c'è ...)
    Kill Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "tmp"
    'compatta su db1.tmp
    CompactDatabase NomeDB, Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "Tmp"
    'cancella db1.mdb
    Kill NomeDB
    'copia da db1.tmp
    FileCopy Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "tmp", NomeDB

    ' in ADO:

    'Bisogna aggiungere nei riferimenti del progetto la dll:

    'Microsoft Jet and replication Objects 2.6 Library (msjro.dll)

    'dal codice precedente DAO cambia solo la compattazione.

    Set CONN = New JRO.JetEngine
    CONN_Sorg = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & NomeDB & ";User ID=Admin;Password=;"
    CONN_Dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Mid(Trim(NomeDB), 1, Len(Trim(NomeDB)) - 3) & "Tmp" & ";"
    '
    CONN.CompactDatabase CONN_Sorg, CONN_Dest
    '
    Set CONN = Nothing

    questo è l'errore quando eseguo il mio .vbs:

    C:\Compatta_LANCI_mdb.vbs(22, 1) Errore di run-time di Microsoft VBScript: Tipo non corrispondente: 'FileCopy'

    dove sbaglio ?

    ciao e grazie

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.