Re-bonjour,
Pour mon projet je dois exporter des données (de ma BASE1) et à chaque fois il faut que je ré-initialise les numéros automatiques de 3 tables dans la base réceptrice (BASE2). J'ai vu sur le forum/FAQ qu'il faut effacer les enregistrements dans les tables et ensuite compacter la base.
J'ai trouvé le code pour compacter une base, mais pour vider les tables c'est une autre histoire. Je trouve comment vider les tables de la base en cours grace à CurrentDB mais moi je dois faire cela sur une autre base...
Alors il faudrai que je trouve un code dans ma BASE1 qui efface les table tbl1, tbl2 et tbl3 dans la BASE2. Ou alors que la BASE1 execute une requête supression dans la BASE2.
Le code trouvé pour vider (et non pas supprimer!) les tables :
Le code pour ensuiter compacter la BASE2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Function EffaceTBL() Dim tbl1 As TableDef Dim tbl2 as tableDef CurrentDb.TableDefs.Delete tbl1.Name CurrentDb.TableDefs.Delete tbl2.Name ' Mais moi je veux agir dans la BASE2 pas dans la courante End Function
Si quelqu'un a une idée je suis preneur ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub cmdCompacter() Dim sNomBase As String Dim sNomBaseTemp As String sNomBase = Me.CheminBD 'Lieu où est stoké le chemin de ma base sNomBaseTmp = Left(sNomBase, Len(sNomBase) - 4) 'enlever l'extension .mdb du fichier sNomBaseTmp = sNomBaseTmp & "TEMP.mdb" 'pareil que Replace(sNomBase,".mdb","TEMP.mdb") DBEngine.CompactDatabase sNomBase, sNomBaseTmp '1. Compactage dans une nouvelle base Kill sNomBase '2. Suppression de la base originale Name sNomBaseTmp As sNomBase '3. Renommer la base compactée avec le nom de la base originale End Sub
Merci d'avance.
Partager