BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
25 août 2005 à 23:35
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 2010
-
26 août 2005 à 22:58
Salut à tous
j'utilise dans une de mes applications une base de données de type ACCES où je stocke des informations dont des images ...
lorsque j'utilise une grosse image (par exemple 5Mo) le fichier global grossi en consequence.
si je veux prendre une autre image dont la taille est inférieur (par exemple 340Ko - :) - ) le fichier global garde sa taille précédente.
mon astuce est actuellement de refaire la copie de la base dans une autre et de la remplacer (ca fonctionne)
mais :
existe t - il une facon "plus propre" de supprimer la mémoire allouée superflue ?
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 26 août 2005 à 01:10
Salut,
Oui par défaut, ACCESS ne supprime pas les fichiers temporaires (inclus
dans la base et necessaire pour un fonctionnement ponctuel) tu peux
demander à se qu'ils soient supprimer. Voir le code ci dessous :
' ===========================================
' Compacter & Archiver la base de données
Public Sub CompactJetDatabase(ByVal Location As String, _
Optional BackupOriginal As Boolean = True)
Dim strBackupFile As String
Dim strTempFile As String
On Error GoTo CompactErr
If Len(Dir(Location)) Then
'création de la copie de sauvegarde
If BackupOriginal = True Then
strBackupFile = App.path & "" & "backup.mdb"
If Len(Dir(strBackupFile)) Then Kill strBackupFile
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 20121 26 août 2005 à 13:02
Merci pour cette info, mais j'arrive pas à la mettre en oeuvre.
Message : " Méthode ou membre de donnée introuvable "
crétion de ma base : Dim td As TableDef
Dim db As Database
Dim i As Integer
Screen.MousePointer = vbHourglass
'Set db = CreateDatabase(nom_base, dbLangGeneral, dbVersion30)
If PASSWORD <> "" Then
Set db = CreateDatabase(nom_base, dbLangGeneral & ";pwd=" & PASSWORD, dbEncrypt)
' Set db = CreateDatabase(nom_base, dbLangGeneral & ";pwd=" & PASSWORD, dbVersion20)
Else
Set db = CreateDatabase(nom_base, dbLangGeneral, dbEncrypt)
End If
Est ce qu'il faut référencer un composant particulier ?
pour l'instant j'utilise uniquement DAO 3.51
j'ai crée une base en dbEncrypt et une autre en dbVersion20 mais rien ne change
J'ai bien regardé la syntaxe dans l'aide mais tout semble correct
ca doit a mon avis venir d'un mauvais référencement. Peut-tu me dire ce que j'ai oublié de mettre STP ?
MErci d'avance et merci pour ta réponse rapide .....