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