-----Message d'origine-----
Bonjour.
le meilleur moyen de pouvoir sauvegarder est de sortir
tous les utilisateurs
: voir la page:
http://mypage.bluewin.ch/w.stucki/Admin.htm#BloquerUsagers
une autre solution consiste à couper le réseau pendant
les sauvegardes , ton
administrateur, ou toi si tu es administrateur, peut
utiliser Net Server
Stop et net Server Start avant et après les sauvegardes.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Erwan" a écrit
dans le message de
news: 137101c4a5f9$9303b530$
Bonjour
Mon application est fractionnée.
Une base contient les tables.
Une autre contient les formulaires,requetes...et des
tables liées.
Je souhaite pouvoir faire des archivages de ma base
régulièrement (sur CD). A ce moment tout plante, car les
liaisons continuent de pointer vers la première base.
Y a t'il moyen de geler les liaisons avant de faire ma
copie??
Merci d'avance
.
-----Message d'origine-----
Bonjour.
le meilleur moyen de pouvoir sauvegarder est de sortir
tous les utilisateurs
: voir la page:
http://mypage.bluewin.ch/w.stucki/Admin.htm#BloquerUsagers
une autre solution consiste à couper le réseau pendant
les sauvegardes , ton
administrateur, ou toi si tu es administrateur, peut
utiliser Net Server
Stop et net Server Start avant et après les sauvegardes.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Erwan" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 137101c4a5f9$9303b530$a601280a@phx.gbl...
Bonjour
Mon application est fractionnée.
Une base contient les tables.
Une autre contient les formulaires,requetes...et des
tables liées.
Je souhaite pouvoir faire des archivages de ma base
régulièrement (sur CD). A ce moment tout plante, car les
liaisons continuent de pointer vers la première base.
Y a t'il moyen de geler les liaisons avant de faire ma
copie??
Merci d'avance
.
-----Message d'origine-----
Bonjour.
le meilleur moyen de pouvoir sauvegarder est de sortir
tous les utilisateurs
: voir la page:
http://mypage.bluewin.ch/w.stucki/Admin.htm#BloquerUsagers
une autre solution consiste à couper le réseau pendant
les sauvegardes , ton
administrateur, ou toi si tu es administrateur, peut
utiliser Net Server
Stop et net Server Start avant et après les sauvegardes.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Erwan" a écrit
dans le message de
news: 137101c4a5f9$9303b530$
Bonjour
Mon application est fractionnée.
Une base contient les tables.
Une autre contient les formulaires,requetes...et des
tables liées.
Je souhaite pouvoir faire des archivages de ma base
régulièrement (sur CD). A ce moment tout plante, car les
liaisons continuent de pointer vers la première base.
Y a t'il moyen de geler les liaisons avant de faire ma
copie??
Merci d'avance
.
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
-----Message d'origine-----
.... mais de toutes les façons, ça ne pourra jamais
marcher depuis un CD car
Access ne travaille pas en lecture seule. Il faudra
mettre les 2 mdb sur un
disque physique ou réseau avant de pouvoir travailler
avec.
.
-----Message d'origine-----
.... mais de toutes les façons, ça ne pourra jamais
marcher depuis un CD car
Access ne travaille pas en lecture seule. Il faudra
mettre les 2 mdb sur un
disque physique ou réseau avant de pouvoir travailler
avec.
.
-----Message d'origine-----
.... mais de toutes les façons, ça ne pourra jamais
marcher depuis un CD car
Access ne travaille pas en lecture seule. Il faudra
mettre les 2 mdb sur un
disque physique ou réseau avant de pouvoir travailler
avec.
.
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:
35b001c4a5fd$0777fef0$
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
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/
------------------------------------
<anonymous@discussions.microsoft.com> a écrit dans le
message news:
35b001c4a5fd$0777fef0$a501280a@phx.gbl...
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:
35b001c4a5fd$0777fef0$
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:
35b001c4a5fd$0777fef0$
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
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/
------------------------------------
<anonymous@discussions.microsoft.com> a écrit dans le
message news:
35b001c4a5fd$0777fef0$a501280a@phx.gbl...
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:
35b001c4a5fd$0777fef0$
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
??????
-----Message d'origine-----
Tu dois utiliser sûrement Access 2000 ou supérieur
Rajoute la référence :
Microsoft DAO x.xx Object Library
Et dans le code, remplaces la ligne en question par :
dim db as Dao.database
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Erwan" a écrit
dans le message news:
141b01c4a605$850178d0$
losque je lance la fonction j'ai l'erreur "ERREUR DE
COMPILATION, Type défini par l'utilisateur non défini" en
pointant sur Dim Db As database
Ben pourquoi???-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenanttous les objets de ta base ainsi que les tables en
directes il te suffit dele placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de tabase contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.NameNext
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.NameNext
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.NameNext
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.NameNext
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.NameNext
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:35b001c4a5fd$0777fef0$
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
.
??????
-----Message d'origine-----
Tu dois utiliser sûrement Access 2000 ou supérieur
Rajoute la référence :
Microsoft DAO x.xx Object Library
Et dans le code, remplaces la ligne en question par :
dim db as Dao.database
--
@+
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/
------------------------------------
"Erwan" <anonymous@discussions.microsoft.com> a écrit
dans le message news:
141b01c4a605$850178d0$a601280a@phx.gbl...
losque je lance la fonction j'ai l'erreur "ERREUR DE
COMPILATION, Type défini par l'utilisateur non défini" en
pointant sur Dim Db As database
Ben pourquoi???
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenant
tous les objets de ta base ainsi que les tables en
directes il te suffit de
le placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de ta
base contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _
& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.Name
Next
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.Name
Next
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.Name
Next
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.Name
Next
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.Name
Next
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
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/
------------------------------------
<anonymous@discussions.microsoft.com> a écrit dans le
message news:
35b001c4a5fd$0777fef0$a501280a@phx.gbl...
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
.
??????
-----Message d'origine-----
Tu dois utiliser sûrement Access 2000 ou supérieur
Rajoute la référence :
Microsoft DAO x.xx Object Library
Et dans le code, remplaces la ligne en question par :
dim db as Dao.database
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Erwan" a écrit
dans le message news:
141b01c4a605$850178d0$
losque je lance la fonction j'ai l'erreur "ERREUR DE
COMPILATION, Type défini par l'utilisateur non défini" en
pointant sur Dim Db As database
Ben pourquoi???-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir, il te créera un
fichier contenanttous les objets de ta base ainsi que les tables en
directes il te suffit dele placer dans ta base contenant les les formulaires et
autres...
L'argument strData correspond au chemin complet et au
nom de tabase contenant les tables...
****************************************************
Public Function SaveFusionDb(strData As String)
Dim Db As Database
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document
Dim strDataBase As String
Dim strDbPath As String
Dim strDbFile As String
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
strDataBase = left(strDbPath, Len(strDbPath) - Len
(strDbFile)) _& "Save_" & strDbFile
DBEngine.CompactDataBase strData, strDataBase
Set Db = CurrentDb
For Each qry In Db.QueryDefs
DoCmd.CopyObject strDataBase, qry.Name, acQuery,
qry.NameNext
Set cnt = Db.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acForm,
doc.NameNext
Set cnt = Db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acReport, doc.NameNext
Set cnt = Db.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name, acMacro,
doc.NameNext
Set cnt = Db.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.CopyObject strDataBase, doc.Name,
acModule, doc.NameNext
Db.Close: Set Db = Nothing
Set cnt = Nothing
MsgBox "Opération de sauvegarde terminée"
End Function
****************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:35b001c4a5fd$0777fef0$
Je ne voie pas bien le rapport avec mon problème.
Je vais essayer de reformuler
Mon application comporte des tables liées vers une autre
base.
Je veux la copier sur CD (y compris l'autre base)
Lorsque je le fais..toutes les requetes basées sur ces
tables liées ne marchent plus.
J'aimerai donc :
-Faire une copie de ma base sur le même emplacement
-Briser les relations (que les tables liées apparaissent
comme des tables normales en conservant leur données) de
ma copie
_Transférer ma copie sur CD
merci d'avance
.
.