Chers développezeurs!
Une simple question : Je souhaite de la manière la plus simple à partir d'une structure de table MODEL créer sur la base d'un code VBA d'autres tables similaires portant un nom bien défini pour cet exemple TABLE_1.
Merci
Chers développezeurs!
Une simple question : Je souhaite de la manière la plus simple à partir d'une structure de table MODEL créer sur la base d'un code VBA d'autres tables similaires portant un nom bien défini pour cet exemple TABLE_1.
Merci
Bonjour,
Regarde du coté de la commande
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part docmd.CopyObject
Auriez-vous un exemple pour illustrer vos propos.
Cordialement
Bonjour
As-tu regardé dans l'aide ? Il y a un exemple.
Philippe
Bonsoir,
voila exemple
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub DupliqueTable() Dim strBaseSource As String Dim strTableModele As String Dim strNouvelleTable As String ' Base de données contenant le modèle de table ' Ex.1 Base en cours strBaseSource = CurrentProject.FullName ' Ex.2 Base externe strBaseSource = "C:\Mes Documents\bd_1.mdb" ' Nom de la table modèle strTableModele = "Table1" ' Nom de la table à créer strNouvelleTable = "Table 4" ' Détruire la table à créer si elle existe déjà On Error Resume Next DoCmd.DeleteObject acTable, strNouvelleTable On Error GoTo 0 ' Dupliquer la table modèle (structure uniquement) DoCmd.TransferDatabase acImport, "Microsoft Access", strBaseSource, _ acTable, strTableModele, strNouvelleTable, True End Sub
Merci beaucoup pour ce code
Aussi, la fonction que je souhaite développer n'est pas simple.
Je dispose de divers utilisateurs dont les formulaires font tous référence à une table unique partagée.
La fonction que je souhaite mettre en place consiste à dupliquer une table depuis un utilisateur, de la positionner sur le fichier .mdb partagé et de créer les tables liées sur les autres postes.
Comment créer la table liée ?
Cordialement
Voici le code élaboré il fonctionne à un détail près :
Ce détail est que la table attachée dupliquée reste attachée à l'objet "PLANNING" comment changer cet objet afin de faire le lien avec la table importée/exportée dont le nom est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Dim strnametable As String 'Définition du nom de la nouvelle table dupliquée strnametable = "Planning_" & Prénom.Value & " " & Nom.Value 'Importation depuis le fichier source de la table PLANNING renommée DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\Users\RV\Desktop\Base de gestion .accdb", acTable, "Planning", strnametable, True 'Exportation depuis le fichier source de la table importée DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\Users\RV\Desktop\Base de gestion .accdb", acTable, strnametable, strnametable, True 'Suppression de la table importée DoCmd.DeleteObject acTable, strnametable 'Copie de la table attachée sous le même nom que la table importée/exportée DoCmd.CopyObject , strnametable, acTable, "Planning" MsgBox "La base de données intitulé : Planning_" & Prénom.Value & " " & Nom.Value & " a été créée avec succès !"
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part strnametable = "Planning_" & Prénom.Value & " " & Nom.Value
C'est nouveau ça ?!
A aucun moment tu n'as parlé de table attachée....table attachée dupliquée reste attachée à l'objet "PLANNING"
Il faudrait peut-être donner la totalité du problème. ça éviterais de faire perdre du temps à tout le monde, toi y compris.
Si tu copie une table attachée c'est l'attache que tu copie pas la table.
Copie la vrai table pas son attache.
Voici le code :
Merci à vous....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Dim strnametable As String strnametable = "Planning_" & Prénom.Value & " " & Nom.Value DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\Users\RV\Desktop\Base de gestion .accdb", acTable, "Planning", strnametable, True DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\Users\RV\Desktop\Base de gestion .accdb", acTable, strnametable, strnametable, True DoCmd.DeleteObject acTable, strnametable 'DoCmd.CopyObject , strnametable, acTable, "Planning" DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\Users\RV\Desktop\Base de gestion .accdb", acTable, strnametable, strnametable MsgBox "La base de données intitulé : Planning_" & Prénom.Value & " " & Nom.Value & " a été créée avec succès !", vbOKOnly + vbInformation, "IXSANE - Société d'études & Ingénieurs conseils"
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager