Ma base de données de Gestion de personnels, se compose de deux bases:
INFO.mdb (Formulaire,Requête,Modules.........)
INFO-TABLES.mdb (ne comporte que les tables liées)
En fin de chaque année, je voudrais de façon automatique copier des tables
de façon à les archiver.
Comme il s'agit de tables liées, je ne peux pas utiliser la fonction
TransferDataBase....
Actuellement j'utilise ce code VBA associé à un bouton (Cmd15)
Private Sub Cmd15_Click()
Dim NomBase As String
NomBase = "Archive-" & AnEnCours & ".mdb"
'Création nouvelle base
Dim dbsNew As Database
Set dbsNew = CreateDatabase(CurrentDBDir & "\Archives\" & NomBase,
dbLangGeneral)
Set dbsNew = Nothing
'Et recopie des tables dans celle-çi
Dim dbs As Database
Set dbs = OpenDatabase(CurrentDBDir & "INFO-TABLES.mdb")
dbs.Execute "SELECT T_Perso.* INTO T_Perso IN 'C:\Documents and
Settings\Divers\Bureau\Gestion\Archives\Archive-2005.mdb' FROM T_Perso;"
dbs.Execute "SELECT T_............................
dbs.Execute "SELECT T_...........................
......etc....et ceci pour toutes les tables que je veux archiver et en
changeant à chaque fois le nom de la table.
dbs.Close
End Sub
Le code fonctionne correctement, seulement comme la base ne se trouve pas
toujours au même endroit,je n'arrive pas à trouver la bonne syntaxe pour
indiquer le chemin du répertoire de sauvegarde sous la forme: "CurrentDBDir
& "\Archives\" & NomBase" qui serait placé juste après le IN .
J'ai essayé plusieurs syntaxes, mais à chaque fois j'ai un message d'erreur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut *,
| | Sous ACCESS 97: | | Ma base de données de Gestion de personnels, se compose de deux bases: | INFO.mdb (Formulaire,Requête,Modules.........) | INFO-TABLES.mdb (ne comporte que les tables liées) | | En fin de chaque année, je voudrais de façon automatique copier des tables | de façon à les archiver. | Comme il s'agit de tables liées, je ne peux pas utiliser la fonction | TransferDataBase.... | Actuellement j'utilise ce code VBA associé à un bouton (Cmd15) [...]
C'est simple.
Tu fais **** et aussi ********, ensuite ******** *** ***** ! Mai attention... pas de *** ou de **** car c'est très ****.
;-))
Tu cherche peut-être à savoir où se trouve les tables ?
Utilise ceci :
Function fnBackEnd(strTable As String) As String 'Retourne le Path de la base dorsale de la table en paramètre fnBackEnd = Mid(CurrentDb.TableDefs(strTable).Connect, InStr(CurrentDb.TableDefs(strTable).Connect, "=") + 1)
|
| Sous ACCESS 97:
|
| Ma base de données de Gestion de personnels, se compose de deux bases:
| INFO.mdb (Formulaire,Requête,Modules.........)
| INFO-TABLES.mdb (ne comporte que les tables liées)
|
| En fin de chaque année, je voudrais de façon automatique copier des tables
| de façon à les archiver.
| Comme il s'agit de tables liées, je ne peux pas utiliser la fonction
| TransferDataBase....
| Actuellement j'utilise ce code VBA associé à un bouton (Cmd15)
[...]
C'est simple.
Tu fais **** et aussi ********, ensuite ******** *** ***** !
Mai attention... pas de *** ou de **** car c'est très ****.
;-))
Tu cherche peut-être à savoir où se trouve les tables ?
Utilise ceci :
Function fnBackEnd(strTable As String) As String
'Retourne le Path de la base dorsale de la table en paramètre
fnBackEnd = Mid(CurrentDb.TableDefs(strTable).Connect,
InStr(CurrentDb.TableDefs(strTable).Connect, "=") + 1)
| | Sous ACCESS 97: | | Ma base de données de Gestion de personnels, se compose de deux bases: | INFO.mdb (Formulaire,Requête,Modules.........) | INFO-TABLES.mdb (ne comporte que les tables liées) | | En fin de chaque année, je voudrais de façon automatique copier des tables | de façon à les archiver. | Comme il s'agit de tables liées, je ne peux pas utiliser la fonction | TransferDataBase.... | Actuellement j'utilise ce code VBA associé à un bouton (Cmd15) [...]
C'est simple.
Tu fais **** et aussi ********, ensuite ******** *** ***** ! Mai attention... pas de *** ou de **** car c'est très ****.
;-))
Tu cherche peut-être à savoir où se trouve les tables ?
Utilise ceci :
Function fnBackEnd(strTable As String) As String 'Retourne le Path de la base dorsale de la table en paramètre fnBackEnd = Mid(CurrentDb.TableDefs(strTable).Connect, InStr(CurrentDb.TableDefs(strTable).Connect, "=") + 1)