Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier tables liées dans autre Base.

2 réponses
Avatar
*
Bonjour à tous et toutes,

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)


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.

Quelqu'un pourrait-il m'aider ? Merci d'avance

2 réponses

Avatar
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)

End Function


De rien ****


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
SaM
Merci Pierre, pour ta réponse.......;-))

Encore mille excuses pour le *, mais les options étaient mal réglées
......;-)
Maintenant , le * est bien redevenue SaM

En tous les cas, je teste dès cet aprés-midi, pour voir si je m'en sort avec
cette fonction et si cela répond bien à mon problème.

Merci . SaM