Hogyan kell egy táblát másolni egy hozzáférési adatbázisból a másikba

Hogyan másolhatok egy táblát egy Access adatbázisból egy másikba?

ADO komponenseket használnak. A táblát egy Access adatbázisból (mdb-fájl) más adatbázisba (fájlba) kell másolni. Ebben az esetben mind a táblázat struktúráját, mind az adatait másolni kell. Hogyan könnyebb ezt csinálni? Köszönöm a válaszokat!

nem egyszerűbb, ha az MSAccess telepítve van a gépen, és annak a parancsnak címeznie kell

és készítsen másolatot az adatbázis-objektumról.

Hát, köpd a Access-ot! Használd, amit tudsz használni!

Próbáld ki ezt, de elkaphatok:
helyezze be az [newbase.mdb] fájlt. [newtable] válassza a * MyTable elemet

Valószínűleg még:
SELECT * a [newbase.mdb] könyvtárba [Newtable] a mytable-ből

Hát DAO.DBEngine - garantáltan ADO-ra szerelhető a gépen.

akkor használja azt

lásd a Database.CreateTableDef metódust, amely lehetővé teszi a megadott táblázat struktúrájának gyors átmásolását a megadott adatbázisba

és csak a táblázat befejezése - egy vagy két kérelem esetén. Lehetséges, és az ADO erre a célra használja, és lehetséges, és ugyanaz a DAO.DBEngine - a különbség nincs jelen

Megpróbáltam
SELECT * a [newbase.mdb] könyvtárba [Newtable] a mytable-ből
az ADOCommandban, írja
A paraméter objektumát helytelenül definiálták, és inkonzisztens vagy hiányos információkat szolgáltattak.

itt írsz [newbase.mdb] -ra [newtable]

és honnan származik, az asztal újdobozban került a newbase.mdb adatbázisba.
megteremtetted.

mi a DAO.DBEngine, és hogyan lehet feltölteni az asztalt SQL lekérdezések segítségével? A probléma az, hogy egy ADO összetevő csak egy adatbázishoz csatlakoztatható. És túl hosszú időn át újraválaszthatja az adatsort.

itt itt írsz [newbase.mdb]. [newtable]

> És honnan származik, az új asztalt az újbase.mdb állományba vitték.
> létrehoztad.

ha nem ad meg [newbase.mdb]. akkor az adatbázisban, amelyhez az ADO-ban van kapcsolat, létrejön egy új, új névvel rendelkező táblázat. A probléma nem az, hogy nincs táblázata, hanem hogy a lekérdezés "nem látja" az alapot, amelyben a táblát másolni kell.

A DAO.DBEngine az az automatizálási objektum, amelyen az MSAccess alapul

mindaz, amit a hozzáférés tesz - ez az objektum implicit használatával történik

Készíthet egy példányt ennek az objektumnak

var DBEngine: OleVariant;

ahol XX a DAO verzió (lásd HKLM \ CLSID a rendszerleíró adatbázisban). ez lehet. 35, 36 vagy 40

ezt a kérést nem lehetett semmilyen módon kiadni. vagy van még további "egyenleg" más kérések. opciót. vagy a "kicsit" lekérdezést lerövidítik, tehát nincs semmi elengedhetetlen (ahogy valószínűleg feltételezte volna) az adatbázishoz vezető út, de ez a hiba.

Talán valami rosszat csinálok.
Van ADOConnection1. amelyben a ConnectionString "Data Source = D: \ dir1 \ Smet1.mdb".
Van ADOCommand1, amelyben Connection = ADOConnection1 és CommandText = "kiválaszthatja * [newtable1] -be [d: \ dir1 \ smet2.mdb]. [GBLStruct]"
A jobb oldali gombon a tervezési módban kattints a Végrehajtás gombra, majd a "Paraméterobjektum helytelen meghatározása. Nem megfelelő vagy hiányos információ áll rendelkezésre"
A fájl elérési útja és a táblázat neve helyes, ha helytelen, akkor azt mondja, hogy nem találja a fájlt.

Az Úr! SEGÍTSÉG, BEND!

Ön ezt a kérelmet maga az Access szolgáltatásban írja le és végrehajtja ott.

Elveztettem Önt egy jó, elegáns és egyszerű elképzeléshez, hogy megvalósítsa a DAO.DBEngine-et - figyelmen kívül hagyta, pihentette az ADO-t, mint a "betegségek"

Hát igen. folytassa, aggódjon)

Nem pihentem, csak a program sajátosságai miatt nem lehet az OLE és a COM objektumokon keresztül dolgozni. Különben is, nagyon köszönöm

Kapcsolódó cikkek