Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le message de
news:
bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version à
télécharger mais pour simplifier, remplaces la fonction CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la base
qui
ceferme affiche Compactage en cours (qu'il ne fait pas)et puis plus rien
Access reste ouver sans base et le messages en bas a gauche "compactae
encours".
"Jessy SEMPERE" a écrit dans le message de
news:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en double
aulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la ligne
suivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans le
message
denews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#et j'ais un message Erreur d'execution 6 depassement de
capaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui suit
sur
l'ouverturedeton
formulaire d'ouverture ou alors sur une macro Autoexec qui
lanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un exemple
contenantle code nécessaire à mettre dans un module de ta base de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup au
niveaudesinformation quelle contient par contre l'utilisateur en
faisantc'estrequête ferra grossir cette base d'une 50 de Mo donc pour
éviterdesdésagrément pour l'utilisateur final je voudrais que ça ne
lefassequedetemps en temps il mais donc impossible de la compacter a
chaquefermeture.
"Jessy SEMPERE" a écrit dans
le
messagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette manière est
qu'unjour ta base fera tout le temps plus de 100 Mo même
compactervu qu'au fil du temps tu vas l'incrémenter avec des
donnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option
:"Compacter lors de la fermeture de la base", ça ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé et où
Anor
t'avaisdemander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:bonjours
Je voudrait faire un compatage de ma base de donne a
la
femeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Access
jevoudraisqu'ilfasse le compactage tous seul
Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg7v2h$vgv$1@muguet.sncf.fr...
Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version à
télécharger mais pour simplifier, remplaces la fonction CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#ioU#FnVDHA.2344@TK2MSFTNGP10.phx.gbl...
j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+
1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la base
qui
ce
ferme affiche Compactage en cours (qu'il ne fait pas)et puis plus rien
Access reste ouver sans base et le messages en bas a gauche "compactae
en
cours".
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg7q13$set$1@muguet.sncf.fr...
Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#5xiSmYVDHA.2004@TK2MSFTNGP11.phx.gbl...
bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en double
au
lieu
long pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la ligne
suivante
,
en
plus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg3cje$qbm$1@muguet.sncf.fr...
oui je n'avais pas calculé combien d'octet ça représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#fI0DQPVDHA.3148@tk2msftngp13.phx.gbl...
et j'ais un message Erreur d'execution 6 depassement de
capaciter
c'est grave docteur
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg2rms$g35$1@muguet.sncf.fr...
Re,
Bon ce que tu peux faire c'est de mettre le code qui suit
sur
l'ouverture
de
ton
formulaire d'ouverture ou alors sur une macro Autoexec qui
lancera
ce
code.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un exemple
contenant
le code nécessaire à mettre dans un module de ta base de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#Fq0VrOVDHA.3376@tk2msftngp13.phx.gbl...
Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup au
niveau
des
information quelle contient par contre l'utilisateur en
faisant
c'est
requête ferra grossir cette base d'une 50 de Mo donc pour
éviter
des
désagrément pour l'utilisateur final je voudrais que ça ne
le
fasse
que
de
temps en temps il mais donc impossible de la compacter a
chaque
fermeture.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans
le
message
de
news:
bg2pno$f0v$1@muguet.sncf.fr...
Bonjour
Le problème de gérer le compactage de cette manière est
qu'un
jour ta base fera tout le temps plus de 100 Mo même
compacter
vu qu'au fil du temps tu vas l'incrémenter avec des
données
donc
ce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option
:
"Compacter lors de la fermeture de la base", ça ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé et où
Anor
t'avais
demander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
ORFPxfOVDHA.2212@TK2MSFTNGP12.phx.gbl...
bonjours
Je voudrait faire un compatage de ma base de donne a
la
femeture
de
l'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Access
je
voudrais
qu'il
fasse le compactage tous seul
Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le message de
news:
bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version à
télécharger mais pour simplifier, remplaces la fonction CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la base
qui
ceferme affiche Compactage en cours (qu'il ne fait pas)et puis plus rien
Access reste ouver sans base et le messages en bas a gauche "compactae
encours".
"Jessy SEMPERE" a écrit dans le message de
news:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en double
aulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la ligne
suivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans le
message
denews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#et j'ais un message Erreur d'execution 6 depassement de
capaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui suit
sur
l'ouverturedeton
formulaire d'ouverture ou alors sur une macro Autoexec qui
lanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un exemple
contenantle code nécessaire à mettre dans un module de ta base de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup au
niveaudesinformation quelle contient par contre l'utilisateur en
faisantc'estrequête ferra grossir cette base d'une 50 de Mo donc pour
éviterdesdésagrément pour l'utilisateur final je voudrais que ça ne
lefassequedetemps en temps il mais donc impossible de la compacter a
chaquefermeture.
"Jessy SEMPERE" a écrit dans
le
messagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette manière est
qu'unjour ta base fera tout le temps plus de 100 Mo même
compactervu qu'au fil du temps tu vas l'incrémenter avec des
donnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option
:"Compacter lors de la fermeture de la base", ça ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé et où
Anor
t'avaisdemander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:bonjours
Je voudrait faire un compatage de ma base de donne a
la
femeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Access
jevoudraisqu'ilfasse le compactage tous seul
Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le message de
news:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version à
télécharger mais pour simplifier, remplaces la fonction CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la base
quiceferme affiche Compactage en cours (qu'il ne fait pas)et puis plus
rien
Access reste ouver sans base et le messages en bas a gauche
"compactae
encours".
"Jessy SEMPERE" a écrit dans le message
de
news:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en
double
aulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la ligne
suivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#et j'ais un message Erreur d'execution 6 depassement de
capaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui suit
surl'ouverturedeton
formulaire d'ouverture ou alors sur une macro Autoexec qui
lanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemple
contenantle code nécessaire à mettre dans un module de ta base de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:
#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup au
niveaudesinformation quelle contient par contre l'utilisateur en
faisantc'estrequête ferra grossir cette base d'une 50 de Mo donc
pour
éviterdesdésagrément pour l'utilisateur final je voudrais que ça
ne
lefassequedetemps en temps il mais donc impossible de la compacter a
chaquefermeture.
"Jessy SEMPERE" a écrit dans
lemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette manière
est
qu'unjour ta base fera tout le temps plus de 100 Mo même
compactervu qu'au fil du temps tu vas l'incrémenter avec des
donnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option:"Compacter lors de la fermeture de la base", ça ne
pourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé et où
Anort'avaisdemander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:bonjours
Je voudrait faire un compatage de ma base de donne a
lafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Accessjevoudraisqu'ilfasse le compactage tous seul
Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#X0QNSnVDHA.1676@TK2MSFTNGP10.phx.gbl...
Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg7v2h$vgv$1@muguet.sncf.fr...
Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version à
télécharger mais pour simplifier, remplaces la fonction CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#ioU#FnVDHA.2344@TK2MSFTNGP10.phx.gbl...
j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+
1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la base
qui
ce
ferme affiche Compactage en cours (qu'il ne fait pas)et puis plus
rien
Access reste ouver sans base et le messages en bas a gauche
"compactae
en
cours".
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message
de
news:
bg7q13$set$1@muguet.sncf.fr...
Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#5xiSmYVDHA.2004@TK2MSFTNGP11.phx.gbl...
bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en
double
au
lieu
long pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la ligne
suivante
,
en
plus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg3cje$qbm$1@muguet.sncf.fr...
oui je n'avais pas calculé combien d'octet ça représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#fI0DQPVDHA.3148@tk2msftngp13.phx.gbl...
et j'ais un message Erreur d'execution 6 depassement de
capaciter
c'est grave docteur
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg2rms$g35$1@muguet.sncf.fr...
Re,
Bon ce que tu peux faire c'est de mettre le code qui suit
sur
l'ouverture
de
ton
formulaire d'ouverture ou alors sur une macro Autoexec qui
lancera
ce
code.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemple
contenant
le code nécessaire à mettre dans un module de ta base de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
#Fq0VrOVDHA.3376@tk2msftngp13.phx.gbl...
Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup au
niveau
des
information quelle contient par contre l'utilisateur en
faisant
c'est
requête ferra grossir cette base d'une 50 de Mo donc
pour
éviter
des
désagrément pour l'utilisateur final je voudrais que ça
ne
le
fasse
que
de
temps en temps il mais donc impossible de la compacter a
chaque
fermeture.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans
le
message
de
news:
bg2pno$f0v$1@muguet.sncf.fr...
Bonjour
Le problème de gérer le compactage de cette manière
est
qu'un
jour ta base fera tout le temps plus de 100 Mo même
compacter
vu qu'au fil du temps tu vas l'incrémenter avec des
données
donc
ce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option
:
"Compacter lors de la fermeture de la base", ça ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé et où
Anor
t'avais
demander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
ORFPxfOVDHA.2212@TK2MSFTNGP12.phx.gbl...
bonjours
Je voudrait faire un compatage de ma base de donne a
la
femeture
de
l'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Access
je
voudrais
qu'il
fasse le compactage tous seul
Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le message de
news:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version à
télécharger mais pour simplifier, remplaces la fonction CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la base
quiceferme affiche Compactage en cours (qu'il ne fait pas)et puis plus
rien
Access reste ouver sans base et le messages en bas a gauche
"compactae
encours".
"Jessy SEMPERE" a écrit dans le message
de
news:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en
double
aulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la ligne
suivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#et j'ais un message Erreur d'execution 6 depassement de
capaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui suit
surl'ouverturedeton
formulaire d'ouverture ou alors sur une macro Autoexec qui
lanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemple
contenantle code nécessaire à mettre dans un module de ta base de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:
#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup au
niveaudesinformation quelle contient par contre l'utilisateur en
faisantc'estrequête ferra grossir cette base d'une 50 de Mo donc
pour
éviterdesdésagrément pour l'utilisateur final je voudrais que ça
ne
lefassequedetemps en temps il mais donc impossible de la compacter a
chaquefermeture.
"Jessy SEMPERE" a écrit dans
lemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette manière
est
qu'unjour ta base fera tout le temps plus de 100 Mo même
compactervu qu'au fil du temps tu vas l'incrémenter avec des
donnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option:"Compacter lors de la fermeture de la base", ça ne
pourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé et où
Anort'avaisdemander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:bonjours
Je voudrait faire un compatage de ma base de donne a
lafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Accessjevoudraisqu'ilfasse le compactage tous seul
Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" a écrit dans le message de
news:bg80gr$hm$Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le message
de
news:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version
à
télécharger mais pour simplifier, remplaces la fonction
CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la
basequiceferme affiche Compactage en cours (qu'il ne fait pas)et puis
plus
rienAccess reste ouver sans base et le messages en bas a gauche
"compactaeencours".
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la
ligneDBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-êtreque Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en
doubleaulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
ligne
suivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:
#et j'ais un message Erreur d'execution 6 depassement
de
capaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit dans
lemessagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui
suitsurl'ouverturedeton
formulaire d'ouverture ou alors sur une macro Autoexec
quilanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemplecontenantle code nécessaire à mettre dans un module de ta base
de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup
au
niveaudesinformation quelle contient par contre l'utilisateur
enfaisantc'estrequête ferra grossir cette base d'une 50 de Mo donc
pouréviterdesdésagrément pour l'utilisateur final je voudrais que
çanelefassequedetemps en temps il mais donc impossible de la
compacter
achaquefermeture.
"Jessy SEMPERE" a écrit
danslemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette
manière
estqu'unjour ta base fera tout le temps plus de 100 Mo
même
compactervu qu'au fil du temps tu vas l'incrémenter avec
des
donnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option:"Compacter lors de la fermeture de la base", ça
ne
pourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé et
où
Anort'avaisdemander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:bonjours
Je voudrait faire un compatage de ma base de
donne
alafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Accessjevoudraisqu'ilfasse le compactage tous seul
Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#e6SCdnVDHA.1680@tk2msftngp13.phx.gbl...
Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg80gr$hm$1@muguet.sncf.fr...
Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#X0QNSnVDHA.1676@TK2MSFTNGP10.phx.gbl...
Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message
de
news:
bg7v2h$vgv$1@muguet.sncf.fr...
Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version
à
télécharger mais pour simplifier, remplaces la fonction
CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#ioU#FnVDHA.2344@TK2MSFTNGP10.phx.gbl...
j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+
1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la
base
qui
ce
ferme affiche Compactage en cours (qu'il ne fait pas)et puis
plus
rien
Access reste ouver sans base et le messages en bas a gauche
"compactae
en
cours".
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg7q13$set$1@muguet.sncf.fr...
Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la
ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#5xiSmYVDHA.2004@TK2MSFTNGP11.phx.gbl...
bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en
double
au
lieu
long pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
ligne
suivante
,
en
plus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg3cje$qbm$1@muguet.sncf.fr...
oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
#fI0DQPVDHA.3148@tk2msftngp13.phx.gbl...
et j'ais un message Erreur d'execution 6 depassement
de
capaciter
c'est grave docteur
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans
le
message
de
news:
bg2rms$g35$1@muguet.sncf.fr...
Re,
Bon ce que tu peux faire c'est de mettre le code qui
suit
sur
l'ouverture
de
ton
formulaire d'ouverture ou alors sur une macro Autoexec
qui
lancera
ce
code.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemple
contenant
le code nécessaire à mettre dans un module de ta base
de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
#Fq0VrOVDHA.3376@tk2msftngp13.phx.gbl...
Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup
au
niveau
des
information quelle contient par contre l'utilisateur
en
faisant
c'est
requête ferra grossir cette base d'une 50 de Mo donc
pour
éviter
des
désagrément pour l'utilisateur final je voudrais que
ça
ne
le
fasse
que
de
temps en temps il mais donc impossible de la
compacter
a
chaque
fermeture.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit
dans
le
message
de
news:
bg2pno$f0v$1@muguet.sncf.fr...
Bonjour
Le problème de gérer le compactage de cette
manière
est
qu'un
jour ta base fera tout le temps plus de 100 Mo
même
compacter
vu qu'au fil du temps tu vas l'incrémenter avec
des
données
donc
ce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option
:
"Compacter lors de la fermeture de la base", ça
ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé et
où
Anor
t'avais
demander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le
message
news:
ORFPxfOVDHA.2212@TK2MSFTNGP12.phx.gbl...
bonjours
Je voudrait faire un compatage de ma base de
donne
a
la
femeture
de
l'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Access
je
voudrais
qu'il
fasse le compactage tous seul
Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" a écrit dans le message de
news:bg80gr$hm$Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le message
de
news:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle version
à
télécharger mais pour simplifier, remplaces la fonction
CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule, "modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) & ".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien la
basequiceferme affiche Compactage en cours (qu'il ne fait pas)et puis
plus
rienAccess reste ouver sans base et le messages en bas a gauche
"compactaeencours".
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la
ligneDBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-êtreque Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille en
doubleaulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
ligne
suivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans le
messagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:
#et j'ais un message Erreur d'execution 6 depassement
de
capaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit dans
lemessagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui
suitsurl'ouverturedeton
formulaire d'ouverture ou alors sur une macro Autoexec
quilanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemplecontenantle code nécessaire à mettre dans un module de ta base
de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas beaucoup
au
niveaudesinformation quelle contient par contre l'utilisateur
enfaisantc'estrequête ferra grossir cette base d'une 50 de Mo donc
pouréviterdesdésagrément pour l'utilisateur final je voudrais que
çanelefassequedetemps en temps il mais donc impossible de la
compacter
achaquefermeture.
"Jessy SEMPERE" a écrit
danslemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette
manière
estqu'unjour ta base fera tout le temps plus de 100 Mo
même
compactervu qu'au fil du temps tu vas l'incrémenter avec
des
donnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à cocher
l'option:"Compacter lors de la fermeture de la base", ça
ne
pourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé et
où
Anort'avaisdemander de nous donner plus de précisions... ;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:bonjours
Je voudrait faire un compatage de ma base de
donne
alafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la femeture
d'Accessjevoudraisqu'ilfasse le compactage tous seul
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants :
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet argument peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb". Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté. Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "server1share1dir1db1". Cette méthode ne permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé lors de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner des
options, additionnez les valeurs qui leur sont associées.
"Jessy SEMPERE" a écrit dans le message de
news:
bg80u9$lq$Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" a écrit dans le message de
news:bg80gr$hm$Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM
introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilationvaraible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le
message
denews:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle
version
àtélécharger mais pour simplifier, remplaces la fonction
CompactExe()par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact",
_
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) &
".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien
la
basequiceferme affiche Compactage en cours (qu'il ne fait pas)et puis
plusrienAccess reste ouver sans base et le messages en bas a gauche
"compactaeencours".
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la
ligneDBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-êtreque Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille
en
doubleaulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
lignesuivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans
le
messagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:#et j'ais un message Erreur d'execution 6 depassement
decapaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit
dans
lemessagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui
suitsurl'ouverturedeton
formulaire d'ouverture ou alors sur une macro
Autoexec
quilanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemplecontenantle code nécessaire à mettre dans un module de ta
base
dedonnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
message
news:#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas
beaucoup
auniveaudesinformation quelle contient par contre
l'utilisateur
enfaisantc'estrequête ferra grossir cette base d'une 50 de Mo
donc
pouréviterdesdésagrément pour l'utilisateur final je voudrais
que
çanelefassequedetemps en temps il mais donc impossible de la
compacterachaquefermeture.
"Jessy SEMPERE" a
écrit
danslemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette
manièreestqu'unjour ta base fera tout le temps plus de 100 Mo
mêmecompactervu qu'au fil du temps tu vas l'incrémenter avec
desdonnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à
cocher
l'option:"Compacter lors de la fermeture de la base", ça
nepourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé
et
oùAnort'avaisdemander de nous donner plus de précisions...
;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:bonjours
Je voudrait faire un compatage de ma base de
donnealafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la
femeture
d'Accessjevoudraisqu'ilfasse le compactage tous seul
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants :
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet argument peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb". Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté. Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "\server1share1dir1db1". Cette méthode ne permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé lors de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner des
options, additionnez les valeurs qui leur sont associées.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg80u9$lq$1@muguet.sncf.fr...
Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#e6SCdnVDHA.1680@tk2msftngp13.phx.gbl...
Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg80gr$hm$1@muguet.sncf.fr...
Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#X0QNSnVDHA.1676@TK2MSFTNGP10.phx.gbl...
Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM
introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg7v2h$vgv$1@muguet.sncf.fr...
Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle
version
à
télécharger mais pour simplifier, remplaces la fonction
CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#ioU#FnVDHA.2344@TK2MSFTNGP10.phx.gbl...
j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+
1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact",
_
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) &
".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien
la
base
qui
ce
ferme affiche Compactage en cours (qu'il ne fait pas)et puis
plus
rien
Access reste ouver sans base et le messages en bas a gauche
"compactae
en
cours".
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg7q13$set$1@muguet.sncf.fr...
Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la
ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#5xiSmYVDHA.2004@TK2MSFTNGP11.phx.gbl...
bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille
en
double
au
lieu
long pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
ligne
suivante
,
en
plus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans
le
message
de
news:
bg3cje$qbm$1@muguet.sncf.fr...
oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
#fI0DQPVDHA.3148@tk2msftngp13.phx.gbl...
et j'ais un message Erreur d'execution 6 depassement
de
capaciter
c'est grave docteur
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit
dans
le
message
de
news:
bg2rms$g35$1@muguet.sncf.fr...
Re,
Bon ce que tu peux faire c'est de mettre le code qui
suit
sur
l'ouverture
de
ton
formulaire d'ouverture ou alors sur une macro
Autoexec
qui
lancera
ce
code.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemple
contenant
le code nécessaire à mettre dans un module de ta
base
de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le
message
news:
#Fq0VrOVDHA.3376@tk2msftngp13.phx.gbl...
Rê Bonjour,
MA base et + ou - fixe elle ne variera pas
beaucoup
au
niveau
des
information quelle contient par contre
l'utilisateur
en
faisant
c'est
requête ferra grossir cette base d'une 50 de Mo
donc
pour
éviter
des
désagrément pour l'utilisateur final je voudrais
que
ça
ne
le
fasse
que
de
temps en temps il mais donc impossible de la
compacter
a
chaque
fermeture.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a
écrit
dans
le
message
de
news:
bg2pno$f0v$1@muguet.sncf.fr...
Bonjour
Le problème de gérer le compactage de cette
manière
est
qu'un
jour ta base fera tout le temps plus de 100 Mo
même
compacter
vu qu'au fil du temps tu vas l'incrémenter avec
des
données
donc
ce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à
cocher
l'option
:
"Compacter lors de la fermeture de la base", ça
ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé
et
où
Anor
t'avais
demander de nous donner plus de précisions...
;-)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le
message
news:
ORFPxfOVDHA.2212@TK2MSFTNGP12.phx.gbl...
bonjours
Je voudrait faire un compatage de ma base de
donne
a
la
femeture
de
l'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la
femeture
d'Access
je
voudrais
qu'il
fasse le compactage tous seul
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants :
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet argument peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb". Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté. Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "server1share1dir1db1". Cette méthode ne permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé lors de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner des
options, additionnez les valeurs qui leur sont associées.
"Jessy SEMPERE" a écrit dans le message de
news:
bg80u9$lq$Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" a écrit dans le message de
news:bg80gr$hm$Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM
introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilationvaraible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le
message
denews:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle
version
àtélécharger mais pour simplifier, remplaces la fonction
CompactExe()par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact", _
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact",
_
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) &
".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien
la
basequiceferme affiche Compactage en cours (qu'il ne fait pas)et puis
plusrienAccess reste ouver sans base et le messages en bas a gauche
"compactaeencours".
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur la
ligneDBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-êtreque Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille
en
doubleaulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
lignesuivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans
le
messagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:#et j'ais un message Erreur d'execution 6 depassement
decapaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit
dans
lemessagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code qui
suitsurl'ouverturedeton
formulaire d'ouverture ou alors sur une macro
Autoexec
quilanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger un
exemplecontenantle code nécessaire à mettre dans un module de ta
base
dedonnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
message
news:#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas
beaucoup
auniveaudesinformation quelle contient par contre
l'utilisateur
enfaisantc'estrequête ferra grossir cette base d'une 50 de Mo
donc
pouréviterdesdésagrément pour l'utilisateur final je voudrais
que
çanelefassequedetemps en temps il mais donc impossible de la
compacterachaquefermeture.
"Jessy SEMPERE" a
écrit
danslemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette
manièreestqu'unjour ta base fera tout le temps plus de 100 Mo
mêmecompactervu qu'au fil du temps tu vas l'incrémenter avec
desdonnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à
cocher
l'option:"Compacter lors de la fermeture de la base", ça
nepourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé
et
oùAnort'avaisdemander de nous donner plus de précisions...
;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:bonjours
Je voudrait faire un compatage de ma base de
donnealafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la
femeture
d'Accessjevoudraisqu'ilfasse le compactage tous seul
Oui mais après il te propose des constantes possible pour l'argument
local.
Donc est ce qu'Access te propose "dbLangGeneral" ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants :
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant
qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet argument
peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb". Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté. Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "server1share1dir1db1". Cette méthode ne
permet
decréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé lors
de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de passe
enargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner des
options, additionnez les valeurs qui leur sont associées.
"Jessy SEMPERE" a écrit dans le message de
news:bg80u9$lq$Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" a écrit dans le message
de
news:bg80gr$hm$Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM
introuvablequand a celuici j'ais toujour le meme messages erreur de
compilationvaraible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle
versionàtélécharger mais pour simplifier, remplaces la fonction
CompactExe()par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact",
_
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x
mcrCompact",
_vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) &
".old"strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien
labasequiceferme affiche Compactage en cours (qu'il ne fait pas)et puis
plusrienAccess reste ouver sans base et le messages en bas a gauche
"compactaeencours".
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur
la
ligneDBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-êtreque Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille
endoubleaulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
lignesuivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans
lemessagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:#et j'ais un message Erreur d'execution 6
depassement
decapaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit
danslemessagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code
qui
suitsurl'ouverturedeton
formulaire d'ouverture ou alors sur une macro
Autoexecquilanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger
un
exemplecontenantle code nécessaire à mettre dans un module de ta
basededonnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas
beaucoupauniveaudesinformation quelle contient par contre
l'utilisateurenfaisantc'estrequête ferra grossir cette base d'une 50 de Mo
doncpouréviterdesdésagrément pour l'utilisateur final je voudrais
queçanelefassequedetemps en temps il mais donc impossible de la
compacterachaquefermeture.
"Jessy SEMPERE" a
écritdanslemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette
manièreestqu'unjour ta base fera tout le temps plus de 100 Mo
mêmecompactervu qu'au fil du temps tu vas l'incrémenter
avec
desdonnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à
cocherl'option:"Compacter lors de la fermeture de la base",
ça
nepourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé
etoùAnort'avaisdemander de nous donner plus de précisions...
;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:bonjours
Je voudrait faire un compatage de ma base de
donnealafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la
femetured'Accessjevoudraisqu'ilfasse le compactage tous seul
Oui mais après il te propose des constantes possible pour l'argument
local.
Donc est ce qu'Access te propose "dbLangGeneral" ???
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
enm8rgnVDHA.2104@TK2MSFTNGP10.phx.gbl...
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants :
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant
qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet argument
peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb". Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté. Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "\server1share1dir1db1". Cette méthode ne
permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé lors
de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner des
options, additionnez les valeurs qui leur sont associées.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg80u9$lq$1@muguet.sncf.fr...
Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#e6SCdnVDHA.1680@tk2msftngp13.phx.gbl...
Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message
de
news:
bg80gr$hm$1@muguet.sncf.fr...
Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#X0QNSnVDHA.1676@TK2MSFTNGP10.phx.gbl...
Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM
introuvable
quand a celuici j'ais toujour le meme messages erreur de
compilation
varaible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg7v2h$vgv$1@muguet.sncf.fr...
Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle
version
à
télécharger mais pour simplifier, remplaces la fonction
CompactExe()
par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact",
_
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
#ioU#FnVDHA.2344@TK2MSFTNGP10.phx.gbl...
j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))
+
1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x
mcrCompact",
_
vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) &
".old"
strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien
la
base
qui
ce
ferme affiche Compactage en cours (qu'il ne fait pas)et puis
plus
rien
Access reste ouver sans base et le messages en bas a gauche
"compactae
en
cours".
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le
message
de
news:
bg7q13$set$1@muguet.sncf.fr...
Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur
la
ligne
DBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-être
que Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
#5xiSmYVDHA.2004@TK2MSFTNGP11.phx.gbl...
bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille
en
double
au
lieu
long pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
ligne
suivante
,
en
plus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans
le
message
de
news:
bg3cje$qbm$1@muguet.sncf.fr...
oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message
news:
#fI0DQPVDHA.3148@tk2msftngp13.phx.gbl...
et j'ais un message Erreur d'execution 6
depassement
de
capaciter
c'est grave docteur
Merci
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit
dans
le
message
de
news:
bg2rms$g35$1@muguet.sncf.fr...
Re,
Bon ce que tu peux faire c'est de mettre le code
qui
suit
sur
l'ouverture
de
ton
formulaire d'ouverture ou alors sur une macro
Autoexec
qui
lancera
ce
code.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger
un
exemple
contenant
le code nécessaire à mettre dans un module de ta
base
de
donnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le
message
news:
#Fq0VrOVDHA.3376@tk2msftngp13.phx.gbl...
Rê Bonjour,
MA base et + ou - fixe elle ne variera pas
beaucoup
au
niveau
des
information quelle contient par contre
l'utilisateur
en
faisant
c'est
requête ferra grossir cette base d'une 50 de Mo
donc
pour
éviter
des
désagrément pour l'utilisateur final je voudrais
que
ça
ne
le
fasse
que
de
temps en temps il mais donc impossible de la
compacter
a
chaque
fermeture.
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a
écrit
dans
le
message
de
news:
bg2pno$f0v$1@muguet.sncf.fr...
Bonjour
Le problème de gérer le compactage de cette
manière
est
qu'un
jour ta base fera tout le temps plus de 100 Mo
même
compacter
vu qu'au fil du temps tu vas l'incrémenter
avec
des
données
donc
ce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à
cocher
l'option
:
"Compacter lors de la fermeture de la base",
ça
ne
pourra
que être bénéfique.
PS : Reste dans le même fil que tu avais lancé
et
où
Anor
t'avais
demander de nous donner plus de précisions...
;-)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le
message
news:
ORFPxfOVDHA.2212@TK2MSFTNGP12.phx.gbl...
bonjours
Je voudrait faire un compatage de ma base de
donne
a
la
femeture
de
l'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la
femeture
d'Access
je
voudrais
qu'il
fasse le compactage tous seul
Oui mais après il te propose des constantes possible pour l'argument
local.
Donc est ce qu'Access te propose "dbLangGeneral" ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants :
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant
qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet argument
peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb". Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté. Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "server1share1dir1db1". Cette méthode ne
permet
decréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé lors
de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de passe
enargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner des
options, additionnez les valeurs qui leur sont associées.
"Jessy SEMPERE" a écrit dans le message de
news:bg80u9$lq$Quand tu vas voir dans l'aide sur la fonction "CreateDatabase"
quels sont les arguments qu'on te propose ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Toujour boue je desespere
Erreur d'execution 3001
argument non valide
"Jessy SEMPERE" a écrit dans le message
de
news:bg80gr$hm$Bon fait juste cette fonction :
Function Test()
Dbengine.createdatabase "c:test.mdb", dbLangGeneral
end function
Ensuite va voir sur c: si la base test.mdb a été créée.
Donc ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#Alors :
J'ais modifier le code et toujour rien a faire
par contre j'ais remarquer quand je fais ca
DBEngine.CreateDatabase "test.mdb", strDbFile
ca vas plus loin en me disant erreur 3170 pilot ISAM
introuvablequand a celuici j'ais toujour le meme messages erreur de
compilationvaraible non definie
DBEngine.CreateDatabase strDbFile, dbLangGeneral
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7v2h$vgv$Alors :
Le but est de compacter la base de donnée en cours ???
En fait la fonction à lancer et CompactExe() et non Compact()
Ensuite je n'avais pas encore mis sur mon site la nouvelle
versionàtélécharger mais pour simplifier, remplaces la fonction
CompactExe()par ce qui suit :
********************************************
Function CompactEXE() As Boolean
Dim strDbFile As String
strDbFile = CurrentDb.Name & ".tmp"
If Dir(strDbFile) <> "" Then Kill strDbFile
DBEngine.CreateDatabase strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x mcrCompact",
_
vbMinimizedNoFocus
End Function
********************************************
Pour le reste garde le code initial et re-essais...
Alors ça marche ???
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:
#ioU#j'ais modifier le code mais toujour rien
le code modifier
Option Compare Database
Option Explicit
Function CompactEXE() As Boolean
Dim strDbFile As String
'strDbFile = CurrentDb.Name & ".tmp"
strDbFile = "D:ApplysLBA&tarif.mdb"
With Application.FileSearch
' .LookIn = Left(strDbFile, Len(strDbFile) -
(Len(Dir(strDbFile))+1))
.LookIn = "D:ApplysLBA&tarif"
.FileName = Dir(strDbFile)
.FileType = msoFileTypeAllFiles
If .execute = 1 Then Kill strDbFile
End With
DBEngine.CreateDatabase , strDbFile, dbLangGeneral
DoCmd.CopyObject strDbFile, , acMacro, "mcrCompact"
DoCmd.CopyObject strDbFile, , acModule,
"modCompactCurrentDb"
Shell "MSACCESS.EXE """ & strDbFile & """ /x
mcrCompact",
_vbMinimizedNoFocus
End Function
Public Function Compact()
Dim acApp As Access.Application
Dim strDbPath As String, strDbFile As String
Dim strDbFileOld As String
strDbPath = CurrentDb.Name
'strDbFile = Left(strDbPath, Len(strDbPath) - 4)
'strDbFile = (Len(strDbPath) - 4)
strDbFile = "D:ApplysLBA&tarif.mdb"
'strDbFileOld = Left(strDbFile, Len(strDbFile) - 4) &
".old"strDbFileOld = "D:ApplysLBA&tarif.old"
'Set acApp = GetObject(strDbFile)
Set acApp = GetObject("D:ApplysLBA&tarif.mdb")
With acApp
.SysCmd acSysCmdSetStatus, "Compactage en cours..."
.CloseCurrentDatabase
DBEngine.CompactDataBase strDbFile, strDbFileOld
Kill strDbFile
Name strDbFileOld As strDbFile
.OpenCurrentDatabase strDbFile
.SysCmd acSysCmdClearStatus
End With
Application.Quit
End Function
quand j'ecrie compact dans la fenetre d'execution j'ais bien
labasequiceferme affiche Compactage en cours (qu'il ne fait pas)et puis
plusrienAccess reste ouver sans base et le messages en bas a gauche
"compactaeencours".
"Jessy SEMPERE" a écrit dans le
messagedenews:bg7q13$set$Bonjour
euh.... là j'ai un peu de mal...
honnêtement là je ne comprends pas, tu dis que c'est sur
la
ligneDBEngine.CreateDatabase strDbFile, dbLangGeneral
que ça plante et que ça te met argument non valide.
Sous access 97 ça marche parfaitement, mais sous XP ???
Je ne peux pas te dire, je n'ai pas XP pour tester mais
peut-êtreque Raymond pourrait-en dire plus...
Désolé mais là je sèche
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:
#bonjour Jessy.
Je suis un paut dure je ne comprend pas mettre la taille
endoubleaulieulong pareille par contre variant il s'en fou ! :-)
le s'executer mais il y a un probleme sur le module a la
lignesuivante,enplus je comprendre rien a DBengine :-)
DBEngine.CreateDatabase strDbFile, dbLangGeneral
dbLanGeneral pas de varaible declarer
le code continue , argument non valide erreur 3001
DBEngine.CreateDatabase strDbFile, dbLangGeneral
C'est quoi ?
Merci
"Jessy SEMPERE" a écrit dans
lemessagedenews:bg3cje$qbm$oui je n'avais pas calculé combien d'octet ça
représentais...
remplaces la code du formulaire par :
Dim dbl As Double
dbl = FileLen(CurrentDb.Name)
If dbl > (150 * 1024 * 1024) Then CompactEXE
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message
news:#et j'ais un message Erreur d'execution 6
depassement
decapaciterc'est grave docteur
Merci
"Jessy SEMPERE" a écrit
danslemessagedenews:bg2rms$g35$Re,
Bon ce que tu peux faire c'est de mettre le code
qui
suitsurl'ouverturedeton
formulaire d'ouverture ou alors sur une macro
Autoexecquilanceracecode.
Dim lng As Long
lng = FileLen(CurrentDb.Name)
If lng > (150 * 1024 * 1024) Then CompactEXE
Ensuite vas à l'adresse qui suit pour télécharger
un
exemplecontenantle code nécessaire à mettre dans un module de ta
basededonnée.
http://access.jessy.free.fr/index.html?Menu=8&Page=CompactDb
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:#Rê Bonjour,
MA base et + ou - fixe elle ne variera pas
beaucoupauniveaudesinformation quelle contient par contre
l'utilisateurenfaisantc'estrequête ferra grossir cette base d'une 50 de Mo
doncpouréviterdesdésagrément pour l'utilisateur final je voudrais
queçanelefassequedetemps en temps il mais donc impossible de la
compacterachaquefermeture.
"Jessy SEMPERE" a
écritdanslemessagedenews:bg2pno$f0v$Bonjour
Le problème de gérer le compactage de cette
manièreestqu'unjour ta base fera tout le temps plus de 100 Mo
mêmecompactervu qu'au fil du temps tu vas l'incrémenter
avec
desdonnéesdoncce sera normale qu'elle grossisse...
Vu que tu possèdes Access XP, tu n'as qu'à
cocherl'option:"Compacter lors de la fermeture de la base",
ça
nepourraque être bénéfique.
PS : Reste dans le même fil que tu avais lancé
etoùAnort'avaisdemander de nous donner plus de précisions...
;-)
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le
messagenews:bonjours
Je voudrait faire un compatage de ma base de
donnealafemeturedel'application et en fonction de sa taille
J'ais AccessXP ma base fait 100 Mo
donc si la base depasse les 150Mo a la
femetured'Accessjevoudraisqu'ilfasse le compactage tous seul
J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" a écrit dans le message news:RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne sur
2000et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" a écrit dans le message de
news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants
:
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant
quiva contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet argument
peutpréciser le chemin et le nom de fichier complets, comme "C:db1.mdb".
Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté.
Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "server1share1dir1db1". Cette méthode ne
permetdecréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lors
dela création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database
en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec
une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passe
enargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquantune ou plusieurs options, comme indiqué dans Valeurs. Pour combiner
des
options, additionnez les valeurs qui leur sont associées.
J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" <Raymond.seneque@free.fr> a écrit dans le message news:
OIDi4knVDHA.2164@TK2MSFTNGP09.phx.gbl...
RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne sur
2000
et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" <yann.rhibaud@free.fr> a écrit dans le message de
news:enm8rgnVDHA.2104@TK2MSFTNGP10.phx.gbl...
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants
:
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant
qui
va contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet argument
peut
préciser le chemin et le nom de fichier complets, comme "C:db1.mdb".
Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté.
Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "\server1share1dir1db1". Cette méthode ne
permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lors
de
la création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database
en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec
une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner
des
options, additionnez les valeurs qui leur sont associées.
J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" a écrit dans le message news:RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne sur
2000et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" a écrit dans le message de
news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments suivants
:
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace existant
quiva contenir la base de données. Si vous omettez workspace, la méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet argument
peutpréciser le chemin et le nom de fichier complets, comme "C:db1.mdb".
Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté.
Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau le
permet, par exemple, "server1share1dir1db1". Cette méthode ne
permetdecréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lors
dela création d'une base de données, comme indiqué dans Valeurs. Si vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database
en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec
une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passe
enargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquantune ou plusieurs options, comme indiqué dans Valeurs. Pour combiner
des
options, additionnez les valeurs qui leur sont associées.
autant pour moi j'ais fait une erreur sur l'ecriture de dbengine
ca marche bien avec les reference encore mille merci pour ta patience.
yann
"Jessy SEMPERE" a écrit dans le message de
news:
bg81nt$1ba$J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" a écrit dans le message news:RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne
sur
2000et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" a écrit dans le message de
news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments
suivants
:
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace
existant
quiva contenir la base de données. Si vous omettez workspace, la
méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet argument
peutpréciser le chemin et le nom de fichier complets, comme
"C:db1.mdb".
Sivous ne précisez aucune extension, .mdb est automatiquement ajouté.
Vouspouvez également indiquer un chemin d'accès réseau, si votre réseau
le
permet, par exemple, "server1share1dir1db1". Cette méthode ne
permetdecréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lorsdela création d'une base de données, comme indiqué dans Valeurs. Si
vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database
enconcaténant la chaîne de mot de passe (commençant par ";pwd=") avec
uneconstante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passeenargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquantune ou plusieurs options, comme indiqué dans Valeurs. Pour combiner
desoptions, additionnez les valeurs qui leur sont associées.
autant pour moi j'ais fait une erreur sur l'ecriture de dbengine
ca marche bien avec les reference encore mille merci pour ta patience.
yann
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg81nt$1ba$1@muguet.sncf.fr...
J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" <Raymond.seneque@free.fr> a écrit dans le message news:
OIDi4knVDHA.2164@TK2MSFTNGP09.phx.gbl...
RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne
sur
2000
et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" <yann.rhibaud@free.fr> a écrit dans le message de
news:enm8rgnVDHA.2104@TK2MSFTNGP10.phx.gbl...
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments
suivants
:
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace
existant
qui
va contenir la base de données. Si vous omettez workspace, la
méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet argument
peut
préciser le chemin et le nom de fichier complets, comme
"C:db1.mdb".
Si
vous ne précisez aucune extension, .mdb est automatiquement ajouté.
Vous
pouvez également indiquer un chemin d'accès réseau, si votre réseau
le
permet, par exemple, "\server1share1dir1db1". Cette méthode ne
permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lors
de
la création d'une base de données, comme indiqué dans Valeurs. Si
vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database
en
concaténant la chaîne de mot de passe (commençant par ";pwd=") avec
une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour combiner
des
options, additionnez les valeurs qui leur sont associées.
autant pour moi j'ais fait une erreur sur l'ecriture de dbengine
ca marche bien avec les reference encore mille merci pour ta patience.
yann
"Jessy SEMPERE" a écrit dans le message de
news:
bg81nt$1ba$J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" a écrit dans le message news:RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne
sur
2000et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" a écrit dans le message de
news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments
suivants
:
Élément Description
database Variable objet représentant l'objet Database à créer.
workspace Variable objet représentant l'objet Workspace
existant
quiva contenir la base de données. Si vous omettez workspace, la
méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet argument
peutpréciser le chemin et le nom de fichier complets, comme
"C:db1.mdb".
Sivous ne précisez aucune extension, .mdb est automatiquement ajouté.
Vouspouvez également indiquer un chemin d'accès réseau, si votre réseau
le
permet, par exemple, "server1share1dir1db1". Cette méthode ne
permetdecréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lorsdela création d'une base de données, comme indiqué dans Valeurs. Si
vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet Database
enconcaténant la chaîne de mot de passe (commençant par ";pwd=") avec
uneconstante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passeenargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquantune ou plusieurs options, comme indiqué dans Valeurs. Pour combiner
desoptions, additionnez les valeurs qui leur sont associées.
Et bien c'est cool, je suis ravi que ça fonctionne enfin
Ce fut long mais bon tout s'arrange... ;-))))
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:autant pour moi j'ais fait une erreur sur l'ecriture de dbengine
ca marche bien avec les reference encore mille merci pour ta patience.
yann
"Jessy SEMPERE" a écrit dans le message de
news:bg81nt$1ba$J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" a écrit dans le message news:RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne
sur2000et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" a écrit dans le message de
news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments
suivants:
Élément Description
database Variable objet représentant l'objet Database à
créer.
workspace Variable objet représentant l'objet Workspace
existantquiva contenir la base de données. Si vous omettez workspace, la
méthodeCreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet
argument
peutpréciser le chemin et le nom de fichier complets, comme
"C:db1.mdb".Sivous ne précisez aucune extension, .mdb est automatiquement
ajouté.
Vouspouvez également indiquer un chemin d'accès réseau, si votre
réseau
lepermet, par exemple, "server1share1dir1db1". Cette méthode ne
permetdecréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lorsdela création d'une base de données, comme indiqué dans Valeurs. Si
vousomettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet
Database
enconcaténant la chaîne de mot de passe (commençant par ";pwd=")
avec
uneconstante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passeenargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquantune ou plusieurs options, comme indiqué dans Valeurs. Pour
combiner
desoptions, additionnez les valeurs qui leur sont associées.
Et bien c'est cool, je suis ravi que ça fonctionne enfin
Ce fut long mais bon tout s'arrange... ;-))))
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" <yann.rhibaud@free.fr> a écrit dans le message news:
ewQwwwnVDHA.1480@tk2msftngp13.phx.gbl...
autant pour moi j'ais fait une erreur sur l'ecriture de dbengine
ca marche bien avec les reference encore mille merci pour ta patience.
yann
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:
bg81nt$1ba$1@muguet.sncf.fr...
J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" <Raymond.seneque@free.fr> a écrit dans le message news:
OIDi4knVDHA.2164@TK2MSFTNGP09.phx.gbl...
RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne
sur
2000
et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" <yann.rhibaud@free.fr> a écrit dans le message de
news:enm8rgnVDHA.2104@TK2MSFTNGP10.phx.gbl...
tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments
suivants
:
Élément Description
database Variable objet représentant l'objet Database à
créer.
workspace Variable objet représentant l'objet Workspace
existant
qui
va contenir la base de données. Si vous omettez workspace, la
méthode
CreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,
indiquant le nom du fichier de base de données à créer. Cet
argument
peut
préciser le chemin et le nom de fichier complets, comme
"C:db1.mdb".
Si
vous ne précisez aucune extension, .mdb est automatiquement
ajouté.
Vous
pouvez également indiquer un chemin d'accès réseau, si votre
réseau
le
permet, par exemple, "\server1share1dir1db1". Cette méthode ne
permet
de
créer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lors
de
la création d'une base de données, comme indiqué dans Valeurs. Si
vous
omettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet
Database
en
concaténant la chaîne de mot de passe (commençant par ";pwd=")
avec
une
constante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passe
en
argument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquant
une ou plusieurs options, comme indiqué dans Valeurs. Pour
combiner
des
options, additionnez les valeurs qui leur sont associées.
Et bien c'est cool, je suis ravi que ça fonctionne enfin
Ce fut long mais bon tout s'arrange... ;-))))
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Yann" a écrit dans le message news:autant pour moi j'ais fait une erreur sur l'ecriture de dbengine
ca marche bien avec les reference encore mille merci pour ta patience.
yann
"Jessy SEMPERE" a écrit dans le message de
news:bg81nt$1ba$J'oubliais, DbEngine et une méthode DAO...
Donc rajoutes la référence "Microsoft DAO 3.xx Object Library"
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond" a écrit dans le message news:RE.
DBEngine.CreateDatabase "c:test.mdb", dbLangGeneral
le problème n'est pas là, car cette syntaxe est bonne et fonctionne
sur2000et +
faut chercher ailleurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Yann" a écrit dans le message de
news:tu veu dire dans l'aide d'Access ?
si oui
j'ais
Set database = workspace.CreateDatabase (name, locale, options)
La syntaxe de la méthode CreateDatabase comprend les éléments
suivants:
Élément Description
database Variable objet représentant l'objet Database à
créer.
workspace Variable objet représentant l'objet Workspace
existantquiva contenir la base de données. Si vous omettez workspace, la
méthodeCreateDatabase utilise l'objet Workspace par défaut.
name Donnée de type String d'une longueur maximale de 255
caractères,indiquant le nom du fichier de base de données à créer. Cet
argument
peutpréciser le chemin et le nom de fichier complets, comme
"C:db1.mdb".Sivous ne précisez aucune extension, .mdb est automatiquement
ajouté.
Vouspouvez également indiquer un chemin d'accès réseau, si votre
réseau
lepermet, par exemple, "server1share1dir1db1". Cette méthode ne
permetdecréer que des fichiers .mdb.
locale Expression de chaîne indiquant l'ordre de tri utilisé
lorsdela création d'une base de données, comme indiqué dans Valeurs. Si
vousomettez cet argument, une erreur se produit.
Vous pouvez définir le mot de passe du nouvel objet
Database
enconcaténant la chaîne de mot de passe (commençant par ";pwd=")
avec
uneconstante dans l'argument locale, comme dans l'exemple suivant :
dbLangSpanish & ";pwd=NewPassword"
Pour utiliser les paramètres régionaux par défaut, tout en
définissant un mot de passe, entrez seulement une chaîne de mot de
passeenargument locale, comme dans l'exemple suivant :
";pwd=NewPassword"
options Facultatif. Constante ou combinaison de constantes
indiquantune ou plusieurs options, comme indiqué dans Valeurs. Pour
combiner
desoptions, additionnez les valeurs qui leur sont associées.