cs_tolt
Messages postés269Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 4 avril 2019
-
4 sept. 2007 à 16:15
cs_tolt
Messages postés269Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 4 avril 2019
-
4 sept. 2007 à 17:11
Bonjour,
Auriez-vous un exemple simple d'une fonction qui compact ou répare une base Acces via l'utilitaire jetcomp.exe ? Il suffirait de passer le passe de la base de données en question à la fonction pour quelle compact la base.
J'essai de le faire mais ça ne marche pas, j'en ai mareeeeeeeeeeeeeeeeeeeeeeeeeeeeeee...
Merci d'avance de ce petit bout de code VB6 car je suis sur que quelqu'un à déjà fait ça pour son taff ou autres d'ailleur.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 4 sept. 2007 à 16:36
Salut,
Tu disposes de cet extrait de code dans la doc d'utilisation de jetcomp.exe.
Doc téléchargeable avec l'exécutable ICI
Copy and paste the following code into a
new Microsoft Access module and run the code.
Note that this code will not work with Visual Basic because of the
CurrentDB call, but it can be easily modified to DAO’s OpenDatabase method.
Sub main()
On
Error GoTo ErrorHandler
Dim db
As DAO.Database, vBookMark As Variant, _
rsMSysCompactError As DAO.Recordset, strErrorTable As String, _
rsErrorTable As DAO.Recordset, fldErrorField As DAO.Field, _
strSQLSEL As String, strColumnValue As Variant, _
qdTemp As QueryDef, strSQLINS As String, intLoop As Integer, _
lngTableNameLength As Long, _
colErrorCollection As New Collection, intErrorCount As Integer
Set db
= CurrentDb()
' Walk
through the MSysCompactError table to find rows that reflect
' lost
data values.
Set rsMSysCompactError =
db.OpenRecordset("SELECT * FROM MSysCompactError WHERE ErrorRecId IS NOT
NULL", dbOpenDynaset)
intErrorCount = 0
While
Not rsMSysCompactError.EOF
'
Get the name of the table that had column data missing.
strErrorTable
= rsMSysCompactError!ErrorTable
'
Check to see that tablename is not greater than 48 characters
'
to stay under 64 character tablename limit.
lngTableNameLength = Len(strErrorTable)
If
lngTableNameLength > 48 Then
strErrorTable = Mid(strErrorTable, 1, 48)
' See if this truncated table name already exists.
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 4 sept. 2007 à 16:41
Tout tapé à la main, de tête ... j'espère que c'est bon
Manu --------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Vous n’avez pas trouvé la réponse que vous recherchez ?