Cum se copiază o tabelă de la o bază de date de acces la alta

Cum pot copia o tabelă dintr-o bază de date Acces la alta?

Sunt utilizate componente ADO. Trebuie să copiați tabelul dintr-o bază de date Access (mdb-file) într-o altă bază de date (fișier). În acest caz, trebuie să copiați atât structura tabelului, cât și datele. Cum este mai ușor acest lucru? Vă mulțumim pentru răspunsurile!







nu este mai simplu, dacă MSAccess este instalat pe mașină, pentru a fi adresat acestuia de către comandă

și lăsați-l să facă o copie a oricărui obiect de bază de date.

Ei bine, scuipați pe Access! Utilizați ceea ce știți să utilizați!

Încearcă asta, dar pot să fiu blocată:
inserați în [newbase.mdb]. [newtable] selectați * din MyTable

Probabil mai mult:
SELECT * în [newbase.mdb]. [Newtable] de la mytable

Ei bine DAO.DBEngine - este garantat să fie instalat pe mașină cu ADO.

apoi folosiți-l

consultați metoda Database.CreateTableDef, care vă permite să copiați rapid structura tabelului specificat în baza de date specificată

și numai finalizarea tabelului - cazul a una sau două cereri. Este posibil și ADO în acest scop să folosească, și este posibil și același DAO.DBEngine - diferența nu este prezentă

Am încercat
SELECT * în [newbase.mdb]. [Newtable] de la mytable
în ADOComand, scrie
Obiectul obiectului este definit necorespunzător. Au fost furnizate informații incoerente sau incomplete.

aici scrieți în [newbase.mdb]. [newtable]

și de unde, tabela newtable a fost luată în baza de date newbase.mdb.






l-ai creat.

ce este DAO.DBEngine și cum să populați tabelul utilizând interogări SQL. Problema este că o componentă ADO poate fi conectată la o singură bază de date. Și pentru a rescrie linia de date pe linie prea lungă în timp.

> aici scrieți în [newbase.mdb]. [newtable]

> De unde, tabela newtable a fost luată în baza newbase.mdb.
> l-ai creat.

dacă nu specificați [newbase.mdb]. atunci o copie a tabelului cu numele newtable este creată în baza de date la care există o conexiune în ADO. Problema nu este că nu există tabel, ci că interogarea "nu vede" baza în care ar trebui copiat tabelul.

DAO.DBEngine este obiectul obiect de automatizare pe care se bazează MSAccess

tot ceea ce face Access - o face cu utilizarea implicită a acestui obiect

Puteți crea explicit o instanță a acestui obiect

var DBEngine: OleVariant;

unde XX este versiunea DAO (vedeți HKLM \ CLSID în registru). acest lucru poate fi. 35, 36 sau 40

această eroare la această cerere nu a putut fi emisă în nici un fel. sau aveți "balanțe" suplimentare de alte solicitări. opțiune. fie interogarea "un pic" este scurtată, deci nu este nimic esențial (așa cum ați crezut probabil) căi spre baza de date, dar aceasta este eroarea în ea.

Poate că fac ceva rău.
Există ADOConnecție1. în care ConnectionString ". Sursa de date = D: \ dir1 \ Smet1.mdb.".
Acolo ADOCommand1, în cazul în care Connection = ADOConnection1, și CommandText = "* selectați în [newtable1] de la. [D: \ dir1 \ smet2.mdb] [GBLStruct]"
Pe butonul din dreapta în modul de proiectare, fac clic pe Execute și apoi "Parametrul obiect este definit incorect. Informațiile inconsistente sau incomplete au fost furnizate"
Calea către fișier și numele tabelului sunt corecte, dacă sunt incorecte, atunci se spune că nu găsesc fișierul.

DOMNUL! AJUTOR, BEND!

Scrieți această solicitare în Access în sine și executați-o acolo.

Te-am indrumat la o idee buna, eleganta si simpla de implementat cu DAO.DBEngine - ai ignorat, odihnindu-te in ADO ca un panaceu pentru toate "bolile"

Ei bine, atunci. continuați, vă faceți griji)

Nu sunt odihnit, doar specificul programului nu permite lucrul prin obiecte OLE și COM. Oricum, vă mulțumesc foarte mult







Articole similare

Trimiteți-le prietenilor: