Bonsoir
Voici comment coiper une table d'une base de donnees dans une autre base
Sur la Form deux TButtons
le .cpp
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "utilcls.h"     // ne pas oublier
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Variant vMSAccess, vSource;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
 {
    vMSAccess = Variant::GetActiveObject("Access.Application");
}
 catch(...)
 {
    vMSAccess = Variant::CreateObject("Access.Application");
}
// on rend visible Access
vMSAccess.OlePropertySet("Visible", true);
// Désactive le "Security warning"
vMSAccess.OlePropertySet("AutomationSecurity", 1);
// on defini le chemin de la base a charger
vSource = "C:\\Users\\home\\Documents\\OleAccess\\Nouveau dossier\\bd1.mdb";
// ouverture de la table Access
vMSAccess.OleFunction("OpenCurrentDatabase", vSource, false);
vMSAccess.OlePropertyGet("DoCmd").OleFunction("CopyObject", "C:\\Users\\home\\Documents\\OleAccess\\Nouveau dossier\\bd2.mdb",
        "copie_ & tblSource", 0, "tblSource");
vMSAccess.OleProcedure("CloseCurrentDatabase");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
// on quitte Access
vMSAccess.OleFunction("Quit");
// liberation memoire
vMSAccess = Unassigned;
}
//---------------------------------------------------------------------------