bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 2019
-
16 oct. 2007 à 13:50
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 2019
-
17 oct. 2007 à 12:10
Salut,
J'utilise un champs de type OLE pour stocker des fichiers dans une base de données ACCESS.
Jusque là, lorsque je veux remplacer un fichier je supprime l'enregistrement et j'en créé un nouveau pour le nouveau fichier. Ce qui ne me convient guère à cause (incrémentation Auto de l'index).
Est-il possible de vider ce champs OLE afin d'y placer ensuite les nouvelles données binaires ?
J'ai essayer des trucs du genre : Set MonRecordSet("MonChampsOLE").Value = Nothing
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 16 oct. 2007 à 17:16
Tu ne pourras rien changer à l'incrementation automatique comme ça.
Par contre, as-tu essayé de 'recompacter' ta BDD pour voir si apres une 'purge' du contenu OLE tu récupères bien l'espace consommé par ton INSERT précédent ?
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 16 oct. 2007 à 17:25
Mon problème n'est pas au niveau de l'espace disque, mais je répond quand même à ta question : Oui je récupère bien l'espace disque après compactage de la BDD.
Mon problème est bien de vider le champs OLE.
Je le rempli de la façon suivante :
Record("Donnees").AppendChunk bytes()
Donc pour pouvoir y placer un nouveau fichier je dois le vider auparavant.
Pour les autres types de champs le problème ne se pose pas
Record("ChampsTexte").Value = "Nouvelle Valeur"
Et hop c'est remplacé.